草榴社区

图形处理器(骋笔鲍)可以加速数位设计实作吗?

在数位设计實作方面,從 RTL 到 GDSII 的每個步驟都涉及高強度運算。在 SoC 層面,評估的是數百個分區的各種布圖規劃(floorplan)選項,以將互連的延遲最小化並提高效率。一旦確定了布圖規劃,就能繼續執行每個分區的其他步驟,以實現全晶片(full-chip)實作和签核(signoff)。由於每個步驟的運算需求都已經很高,進一步和分區數量加乘,這就引出一個問題:傳統上用於数位设计的 CPU 容量是否已經不敷使用?而GPU 是否能夠滿足運算需求?

如今,GPU能處理人工智慧(AI)/機器學習(ML)、遊戲和高效能运算(贬笔颁)等應用的嚴苛工作負載,並以此聞名。隨著晶片變得越來越大、越來越複雜,現在或許是時候將數位晶片设计實作加到GPU的處理列表中了。

CPU 在 EDA 工作負載中的挑戰

CPU 長期以來一直被認為是電腦的「大腦」。如今的CPU擁有數十億個電晶體和多個處理核心,非常適合應用於廣泛的任務甚至能快速完成任務。另一方面,最初針對特定目的而设计的GPU,隨著時間演進也已轉變為通用的平行處理器。

傳統上,電子设计自動化(EDA)工作負載一直是在基於 x86 處理器的 CPU 上運作。然而,隨著複雜架構的逐漸普及化,例如多晶粒(multi-die)设计,我們逐漸受到 CPU 計算能力的限制。考慮到上市時程的壓力是晶片设计團隊一直要面對的挑戰,利用能夠加速晶片设计流程的額外工具和技術是合理的。在验证和分析方面,草榴社区 PrimeSim? 和 草榴社区 VCS? 模拟流程已經受惠於 GPU 加速的優勢。雖然不是每個数位设计流程中的任務都非常適合 GPU,但確實有一些工作可以加速進行。

大多數用於数据中心的先進高性能 x86 CPU 核心是平均每個機箱擁有 64 至 128 個核心,最多可達到每個機箱約 200 個核心。需要更多核心的任務就必須分散在許多機箱上;如果網路速度不夠快,就會產生一些額外開銷。從RTL 到 GDSII 的流程和優化技術包含許多相互依賴的部分。為了使流程中的每個任務能夠成功地同時執行,分佈在不同 CPU 機箱上的任務之間的數據共享必須非常快速且幾乎沒有延遲。然而,在現實中,網路延遲會限制周轉時間(turnaround time),使得RTL 到 GDSII 的全流程分散式並行方法不太具有吸引力。

另一方面,GPU 核心可以輕易地擴展,每個核心執行的操作較少,且體積非常小,可以在一個插槽中擁有成千上萬個核心,並藉由可管理的空間(footprint)提供強大的處理能力;因此GPU非常適合能夠從大規模並行處理中受益的任務。然而,這些任務大部分也必須是單向的,因為任何決策和迭代都會減慢流程,且/或需要回到 CPU 進行「if then else」決策,因而排除了 RTL 到 GDSII 数位设计流程中的許多任務(但不是所有)。

利用 GPU 加速縮短佈局流程的時間

在数位设计流程中自動佈局證明在 GPU 上執行有很好的潛力。而在模拟商業環境的開發階段中,相較於CPU,新思科技以GPU 加速的Fusion Compiler佈局技術展現了顯著的周轉時間優勢:

  • 僅需 38 秒就能針對3 奈米 GPU串流複合處理器设计進行包含 1.4 百萬個可佈局標準元件和 20 個可佈局硬核巨集(hard macro)的佈局規劃,而使用 CPU 進行佈局則需要 13 分鐘
  • 僅需 82 秒就能針對12 奈米车用 CPU 设计進行包含 2.9 百萬個可佈局標準元件和 200 個可佈局硬核巨集的佈局規劃,而使用 CPU 進行佈局則需要 19 分鐘

結合透過 草榴社区 DSO.ai提供的以AI 驅動自主设计空間優化,我們預期能夠在相同的時間將以AI 驅動的空間搜尋效能提升 15 到 20 倍。這樣做可以讓设计團隊達到更好的功率、效能和面積(PPA)結果。

在很多方面,布圖規劃和佈局都是實作中涉及最廣泛探索的步驟,因為它們對最終设计的PPA有著很大的影響。我們可以想像,就算 GPU運算资源通常與強大的 CPU 運算叢集有所區隔,但靠著基於 GPU 的佈局技術,單一设计師也能夠高效率地工作。然而,對於其他RTL 到 GDSII 设计流程中按需求提供給GPU加速的機會來說,设计數據在 CPU 和 GPU 叢集之間移動所導致的延遲可能會限制了處理能力(throughput)。

新型態的資料中心 SoC正採用 CPU 和 GPU 资源之間的單一记忆体來進行设计,以應用於兆位元級工作負載。這些新興的架構避免利用 GPU 加速所需的设计數據移動,並讓设计工程師能夠考慮在数位设计流程中還有什麼其他地方可以應用 GPU 加速;尤其是可以將 GPU 與 AI 驅動的设计工具配對,以進行更快速、更廣泛的探索並獲得更好的結果時。憑藉 草榴社区.ai 以AI 驅動、全端 EDA 流程等解决方案,可以產生更好的 PPA 結果,更快地達到目標,並提高工程生產力,人們可以想像 GPU 加速的加入將如何進一步改變晶片设计。

总结

雖然在晶片设计中利用GPU進行模拟並不算陌生,但很快地数位设计流程的某些方面也有機會利用到 GPU 加速。對於大型晶片或複雜的架構,如多晶粒设计,CPU 已經無法在期望的速度下提供執行RTL-to-GDSII流程所需的運算效能。憑藉其可擴展性和處理能力,GPU 有潛力可提供更快的周轉時間和更好的晶片結果。使用以 GPU 驅動的佈局器進行的原型模拟練習,已可以將佈局速度提高 20 倍。隨著 AI 整合到EDA 流程中,也將 GPU 加入這個組合,可以形成強大的搭配組合,以增強 PPA 和加速上市時間。