Richard Oxland , 西門子數字化工業軟件 Tessent Embedded Analytics產品經理 在人工智能和機器學習應用數據處理的強勁需求下,大規模并行計算迅速興起,導致芯片復雜性呈現爆炸式增長。這種復雜性體現在 Cerebras 晶圓級引擎(如下圖)等設計中,該設計是一種平鋪多核、多晶片設計,將晶體管數量增加至數萬億個,擁有近百萬個計算內核。 人工智能 (AI) SoC 的市場持續增長,競爭也日趨激烈。半導體公司根據性能、成本和靈活性,來找到自己的定位,并不斷自我優化,從而導致了新型多核架構的爆發式增長。系統架構師正在嘗試不同的方法,希望可以將這種復雜性轉化為競爭優勢。 在所有復雜性來源中,有一個在多核 AI SoC 中非常重要的來源:即當有多個線程在共享數據上并行運行時,會出現功能錯誤和性能降低問題。過去,設計人員可以使用經典的 CPU 運行控制來調試問題,但這種方法對多核架構并無效果。導致軟件問題的根本原因錯綜復雜,包括往返時延、內核數量、控制和數據并行、多層層次結構和互相依賴的進程,設計人員從中找出真正根源的機會渺茫。 另外,設計人員還需要考慮軟硬件協同優化,這需要大量的功能分析。為了在 SoC 上部署 AI 應用,設計人員必須編譯源代碼,以充分利用多核架構。這通常需要充分了解 SoC 架構的定制工具鏈。這個過程包括一個硬件和軟件優化及測試周期,從 SOC 仿真開始,一直貫穿至第一次投片和后續器件迭代,如下圖所示。 通過這一功能分析周期,團隊能夠了解以下內容: • 數據共享的效率; • 片上網絡 (NoC) 是否超載或不平衡; • 如何在不影響代碼執行的情況下評估應用性能; • 如何優化內存控制器配置文件以提升數據處理能力; • 如何關聯整個 SoC 中的事件; 要做到這一點,我們需要一種全新的方法來優化 AI SoC 及其上面運行的軟件。要將高質量的 AI SoC 及時推向市場并在完成部署后保持性能,必須要進行系統范圍的功能分析。系統范圍功能分析的部分功能包括: • 深入洞察子系統或組件 ; • 對整個系統從啟動開始的準確、連貫的全景圖; • 事物感知(Transaction-aware) 的互連監控和統計信息; • 傳統的處理器運行控制和追蹤; • 支持所有常見的指令集和互連協議; • 提供選擇或更改重要子系統的靈活性; • 用于產生數據可見性的靈活強大的工具; 用于監控和分析 IP 的片上基礎架構和軟件提供了所有這些功能,覆蓋范圍可從仿真到部署。下圖即顯示了 SoC 功能監控和分析的典型架構。 接下來的圖中展示的示例是一個多核芯片配備片上網絡 (NoC) 監視器,可跟蹤所有 NoC 事務到循環緩沖器。由于 NoC 監視器具有事務感知功能,可將其配置為檢測特定總線條件,例如導致事務持續時間超過特定閾值(按周期數計算)的死鎖。當超過閾值時,NoC 監視器可以輸出死鎖事務以及之前事務的詳細信息,以便對問題進行診斷。 同一個 NoC 監視器也可配置為在檢測到相同死鎖條件時——例如通過跟蹤硬件加速器行為的狀態監視器模塊——使用嵌入式分析消息基礎設施的交叉觸發功能,在系統中的其他位置觸發跟蹤。 了解實施有效的系統驗證和優化環境時涉及的問題,是成功交付多核 SoC 的關鍵,與該領域內的專業供應商合作可實現事半功倍的效果。 如欲了解更多資源,請訪問技術論文:利用系統級數據來優化多核 AI 和 ML 芯片 |