圖形處理器(GPU)可以加速數位設計實作嗎?

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

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

CPU 在 EDA 工作負載中的挑戰

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

傳統上,電子設計自動化(EDA)工作負載一直是在基於 x86 處理器的 CPU 上運作。然而,隨著複雜架構的逐漸普及化,例如多晶粒(multi-die)設計,我們逐漸受到 CPU 計算能力的限制。考慮到上市時程的壓力是晶片設計團隊一直要面對的挑戰,利用能夠加速晶片設計流程的額外工具和技術是合理的。在驗證和分析方面,Synopsys PrimeSim™ 和 Synopsys 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 分鐘

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

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

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

總結

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