作為后摩爾時代發展的必然趨勢之一,存算一體越來越受到行業的關注。在存算十問的前六問中,我們梳理了存算一體的技術路線、挑戰和通用性等問題,這一次我們從技術的壁壘入手,邀請后摩智能的幾位研發人員來談談,從學術到商用,存算一體的技術壁壘體現在哪里,后摩智能又是如何從IP、電路設計、架構設計等層面突破技術難題,形成自己獨有的技術壁壘。
Q1存算一體芯片是一個壁壘比較高的技術方向嗎?它的壁壘體現在哪些方面?
存算一體芯片是技術壁壘很高的一個方向。從芯片底層到軟件劃分的話,主要體現在以下幾個方面:
(1)CIM的基本運算單元(即MACRO)的設計是第一個難點。作為存算一體芯片的基石,存內計算IP的功能和性能直接影響存算一體芯片的整體表現。存內計算IP依托的存儲介質和所采用的計算范式繁多且呈“百花齊放”。
以SRAM CIM MACRO為例,因為需要修改存儲陣列以加入計算的邏輯單元、支持“存儲-計算”雙工作模 式,并且在滿足計算性能的同時還需要保證陣列的規整性來優化面積效率、保證陣列的可靠性、可測試性等。需要SRAM專家針對性的進行設計。值得強調的是,當前的EDA工具不支持設計流程,必須自主設計相應的EDA工具來配合整個過程,包括margin, aging, EMIR, PPA的分析、Sign-off、PI/S等工具。
(2)當完成CIM MACRO設計后,需要將大量的MACRO高效的組織在一起來處理形式多樣的Tensor運算,同時配合一定的通用算力來滿足各種長尾算子(通常指計算量較小的非Tensor算子)的處理能力。這里涉及到多個MACRO之間的數據流組織方式,即如何將一個Tensor的運算分配到多個MACRO協同處理,完成這個目標需要精心進行架構設計,并且通常需要一個高效的片上網絡(NoC)來支持。
另外,通常需要在芯片內配置大容量的SRAM來減少片外DRAM的訪存需求,如何組織SRAM,并且配合上述計算流程,也是一個重要的設計內容。
(3)存算一體AI核和SoC的架構設計和實現:存內計算IP提供了高能效的并行計算模式,但同樣受限于其支持運算類型的局限性,因而對于存算一體AI核和SoC的架構設計的難度和復雜度要求急劇上升,既要充分利用存內計算IP本身運算的高效性,又要減少存內計算IP之間的數據傳輸,同時還要兼顧支持網絡算子的通用性和物理實現的可行性。
(4)存算一體軟件編譯器的快速部署和實現:軟件工具鏈對于發揮存算芯片的效率也至關重要。軟件需要將模型切分成合適的Tensor算子,然后生成相應的指令調用底層硬件來處理。
在后端算子性能優化時,需要打破算子的邊界,要解決層間流水,多模型流水并行,結合存算架構的特點完成優化。業界有很多開源框架的 IR 可以參考,像 MLIR 和 TVM 的 Relay 和 TIR,這些開源的 IR 無法很好地處理上述優化需求,我們根據存算架構 AI Core 的特點,設計了一層 IR ,更好地解決了數據流分析、數據依賴分析,可以更方便地進行層間調度和切分等優化。
同時,對于自動駕駛等場景,通過算子融合來提升計算和訪存效率是非常關鍵的一個優化目標,需要工具鏈自動化的完成算子的融合、調度及對大容量SRAM的高效管理,以同時提升芯片的利用率和應用的開發效率等。
Q2相較于傳統的芯片電路設計,后摩智能的存算電路架構設計和電路設計有何特殊性和優點?
(1)電路方面:自主設計的定制CIM MACRO,包括定制的乘法單元、加法樹、讀寫電路、累加器等,進一步拉近計算和存儲的距離顯著提升性能和能效,通過SRAM單元替代寄存器實現更高的計算密度、更低的讀寫功耗。相比傳統電路設計面效提升2倍左右、能效提升一個量級左右;
(2)架構:層次化的架構設計,將大量MACRO有效組織在一起;CIM MACRO負責Tensor計算,自主設計的RISC-V Vector擴展架構配合定制的SFU負責長尾算子處理,同時滿足處理效率和通用性的需求;定制化的NoC,滿足多個MACRO和SRAM之間的數據通信需求等
后摩智能的存算電路主要采用了基于全數字域的存算路徑,通過對存儲單元和計算單元的深度定制來實現高能效的計算目的,從而減少訪存開銷,打破存儲墻瓶頸,這種從SPEC到signoff的全定制化流程研發周期長,且對于研發迭代效率要求極高。
同時,還需要兼顧大規模量產和車規需求,開發特有的CIM BIST和硬件修復電路,保障芯片良率和車規認證。
Q3后摩智能自研的芯片IPU架構,從一代到二代的天樞、天璣,相對于傳統架構的優點和創新之處是什么?
這張圖就是我們已經推出的H30芯片天樞架構IPU圖。
我們的芯片里有4個IPU核,都掛在系統總線NoC上。這4個核是完全一樣的設計。對于每一個Core,又由4個Tile組成,每個Tile就對應了一個硬件線程,它們可以獨立進行不同的計算,也可以聯合起來做同一個計算。
每個Tile內部有CPU、Tensor Engine,Special Function Unit,Vector Processor和多通道DMA,這些計算單元可以直接共享一個多Bank的共享存儲資源。這樣的架構使得AI計算不但不用在多個處理器,例如CPU,GPU,DSP之間分配任務,甚至數據不用出AI核,就可以高效的完成全部端到端的AI計算。
這個架構里還有一個重要的部分就是數據的傳輸。就像我們人和人之間需要更好的溝通一樣,我們的計算單元之間,也需要很好的共享數據和消息。
我們設計了專用的數據傳輸總線,可以靈活的在各個Tile,以及各個Core之間建立高速的直接的數據傳輸通道,而不需要通過系統總線和緩存。
CIM macro有計算形式單一、需求輸入數據整齊、沒有累加器等缺點。第一代天樞架構為這些功能上的缺點做了相應的補充,使得CIM macro能夠真正的應用在大規模AI計算中,而不只停留在paper上;另一方面,將CIM macro用于工程上,有BIST,yield,PI/SI等問題需要摸索解決,第一代架構也在這方面做了規劃和適配。
我們下一代的天璇架構IPU設計理念將會是:基于Mesh互聯的AI cluster。采用Mesh的互聯結構,可以將計算單元的數量靈活的配置成M行N列,根據場景需求,AI算力規模可大可小。
審核編輯:湯梓紅
-
芯片
+關注
關注
455文章
50714瀏覽量
423137 -
sram
+關注
關注
6文章
767瀏覽量
114675 -
AI
+關注
關注
87文章
30728瀏覽量
268886 -
存算一體
+關注
關注
0文章
102瀏覽量
4297
發布評論請先 登錄
相關推薦
評論