? ?人工智能對于芯片和軟硬件系統的架構定義,設計理論和流程方法將會產生前所未有的沖擊,在這二十年的芯片設計長河中出現了很多璀璨閃耀的方法學,包括
1.? ?架構級/結構級建模
2.? ?算法/硬件劃分映射
3.? ?軟硬件系統協同設計驗證
4.? ?PPA(性能/功耗/面積)平衡優化??等等
這些著名的在歷史中沉浮的方法學終于在AI時代的芯片設計中大放異彩,釋放出了前所未有的活力。究其原因,是因為AI的系統設計難以比擬的獨特性和挑戰性。
1.? ? 系統架構的重要性前所未有。從芯片架構,包括計算架構,存儲架構,互聯架構;到軟件架構,包括應用架構,編譯架構,調度架構,驅動架構;每一個因素都決定系統設計的成敗和效能。
2.? ?軟硬件結合的生態系統是重中之重。AI已經不是單純芯片的概念,也不是單純軟件應用的概念。軟硬件聯合設計,驗證,優化和后續開發是系統決勝的關鍵。芯片的理論規格不再是紙面的參數,是需要系統和軟件聯合設計才能獲取的目標。生態系統建立的高效性和開發者的易用性是系統驥芯片部署成功的根本之一。
3.? ? 性能功耗比(Performance/Watt), 性能成本比(Performance/$), 功耗成本比(Watt/$)在AI的不同應用方向有著不同的優先級。在性能,功耗,面積,可靠性,安全性,快速響應性等各個維度的取舍讓高質量的AI芯片設計成為更大的挑戰。
4.? ? AI算法當前的靈活性和未來的多變性,以及軟件框架的多樣化給系統設計帶來了很大的挑戰。如何面向未來進行設計,面向端云進行延伸,讓現在的軟硬件系統有更強的靈活性和擴展性,也是目前設計領域一個較大的挑戰。
綜合這些,如何設計高效能,高性價比的“算力架構”和與之相關的軟硬件優化系統,是當前AI芯片設計的主要原則。以此為中心,結合這些年的設計方法學,作為AI芯片設計者需要考慮如何把握以下設計規則:
1.? ? 在最初的架構設計下最大的功夫,架構級建模流程的引入必不可少。
對于算力引擎的有效性,數據帶寬和吞吐,片內外互聯結構的QOS,基本的調度方法,高效的編程模型等等;必須進行有效的評估,并對于芯片設計的后面階段產生指導作用。
2.? ? 從建模(modeling),到邏輯仿真(Simulation),到物理仿真(Emulation),到FPGA的每一個階段,軟硬件的聯合設計調優都要貫穿于其中。
從一開始提供模型保證軟硬件的分離開發,到開發中后期軟硬件整合的聯調,再到芯片回來的測試再調優;如何按階段的保證軟硬件設計優化的充分,是這個流程必須要重視的問題。另外,對于軟件各層,包括調度模型,編譯效率,驅動硬件調優以及開發易用性的考量,以及對于Benchmarking和Test Stimulus的制定,都是軟硬件協作中不可缺少的步驟。
3.? ? 根據芯片的不同定位和方向,設置PPA(性能,功耗,面積)的優先級和平衡策略。
解決好以下幾個熱點問題:
? ? ? a)? ? 系統級(System/Platform)對于性能,功耗,成本,穩定性,安全性的綜合考慮
? ? ? b)? ? ?編程的靈活性和晶體管消耗(面積功耗的代價)的平衡
? ? ? c)? ? ?理論算力峰值與實際應用性能之前的差距彌補
? ? ? d)? ? ?性能線性提升和功耗非線性增加之間的平衡
? ? ? ?e)? ? ?工藝的步進對于性能功耗的優化以及量產成本的提升之間的權衡 等等
成為PPA平衡設計的關鍵。
4.? ? 前瞻性定義開發。
根據AI算法的未來步進,市場競爭產品的出現,新技術的出現和準備曲線等等,所有產品的定義必須充分考慮未來的不確定性和競爭力。對于新興算法和算子的調研,對于新興軟件框架的調研,對于新工藝,IP的出現,更重要的,對于主要客戶未來需求的采集和分析,才能對于產品的未來定位有更加清晰的策略,對于開發路線有更加清楚的判斷。
5.? ? 強大的軟硬件項目管理流程。
以里程碑和質量檢查為驅動的芯片開發流程;以迭代敏捷為代表的軟件開發流程,必須有效的結合和同步,才能達到完美的系統開發效果。
分享這些,是希望有更多的中國AI設計團隊能夠崛起,中國芯片的戰場需要更多的中國人,也需要更多有情懷,有決心,有抱負的工程化團隊。
乘風破浪會有時,直掛云帆濟滄海!