- Advertisement -
首頁 標籤 DARRA

DARRA

- Advertisment -

深度學習/雲端架構聯手發威 系統晶片設計進入新境界

近期EDA產業內最熱門的兩個話題,分別是導入深度學習與工具雲端化,而這兩個議題其實互為因果,彼此高度相關。要探討這兩個議題之前,必然要先從最底層的硬體計算平台發展開始談起,因為超級電腦是支撐深度學習與雲端EDA的基礎。 超級電腦為EDA雲端化重要推手 超級電腦跟一般典型的雲端伺服器不同,其發展方向在於提供更多運算效能,給某些需要極高運算力的應用或服務使用。目前全球最快的超級電腦是由IBM打造,位於美國橡樹嶺國家實驗室的Summit(圖1),但是在過去幾年裡,世界最快的超級電腦卻在中國。 圖1 位於美國橡樹嶺國家實驗室的超級電腦Summit。 目前世界排名第二跟第三的超級電腦,分別是中國國家平行計算機工程與技術研究中心所開發的「神威.太湖之光」與中國國防科技大學打造的「天河二號」。 Summit並非典型的雲端伺服器,反而更像是一個高度專業化的獨立雲端數據中心。Summit中的每個節點都有兩個22核的IBM Power 9處理器(CPU)及6個NVIDIA Tesla V100加速器,整個系統共有4,608個節點(最終4,096+512個節點,所以它在只會計算2次方的電腦科學家眼裡看起來並不那麼奇怪),Summit事實上是一個採用了202,752核Power 9及27,648個NVIDIA Volta GPU的超大型系統,外加10PB的DRAM及250 PB的存儲空間(假設它是Flash儲存的)。 其峰值性能為每秒200千兆/千萬億(1015)次的浮點運算。美國能源部計畫在2021年開展一個每秒100京/一億億億(1018)次浮點運算等級的機器。 這些怪獸級的超級運算機器,不僅是用來進行深度學習訓練的利器,也是EDA工具業界得以推出雲端化解決方案的原因 EDA大舉走向雲端 EDA工具業者近來在雲端布局上動作頻頻,如益華電腦(Cadence)近期便宣布推出「Cadence Cloud」。這個雲服務的內容包羅萬象,並皆能促使Cadence的工具通過雲端的槓桿作用,將效能表現推升到新的境界。有些工具因為可以擴展到上百或上千個內核,而成「雲端就緒(Cloud-ready)」的設計工具。另一種方法則是使用大量內核,藉由平行運算架構更快地完成運算任務。這種方法的最好的例子是「元件庫特徵化(Cell-library Characterization)」,使用者可以在上百個Corner及上千個元件中找到成千上萬正在處理的工作。 高度平行化與使用大量運算核心,對IC設計的許多環節而言,可以帶來很大的速度優勢。路易斯.卡羅爾(Lewis Carroll)所著的        「愛麗絲鏡中奇遇」(編按:本書為愛麗絲夢遊仙境的續作)中有一段著名的話可以代表設計規則檢查(DRC)小組組長的觀點: 紅皇后回答:「那真是個慢郎中的國家!在這裡,你必須拚命的跑,才能留在原地;如果你要到另一個地方,你要跑得比剛才快一倍才行。」 對DRC來說,每增加一個流程節點,需要檢查的設計規則數量就會翻倍。更嚴重的是,這些規則的複雜性亦以兩種方式遞增(圖2);其中一個是「由真實的物理尺寸所決定的規則」,最典型的就是跟微影(Lithography)製程效應相關的規則。這意味著隨著尺寸越小,就會有越多的多邊形需要處理;其次是規則本身就變得更加複雜。在晶片開發的早期,幾乎所有規則都是簡單的最小寬度、最小間距或封裝規則,沒有任何規則取決於互連中的當前方向、沒有金屬反射規則、沒有因開放平台通訊(OPC)不允許某些尺寸而導致的規則、也沒有用於「多重圖形(Multiple Patterning)」的著色規則。 圖2 設計規則數量成長趨勢 由於「縮放定律(Dennard Scaling)」已經結束,以及半導體產業的某些因素,電腦運算效能的成長速度已經放慢,結果就是晶片設計過程中的DRC步驟,需要越來越長的運行時間。 就像計算機科學中只有三個數字(0,1,∞)一樣,對EDA使用者來說,運算任務的執行時間其實只有四種等級: 1.在我去喝杯咖啡或回覆電子郵件時,工作就已經結束了。它的運行速度已經夠快,如果能更快當然是最好,但那不是重點; 2.運算任務大概需要吃一頓飯的時間,所以使用者每天有兩次設計迭代(Iteration)機會,就是吃午飯跟晚飯的時間; 3.運算任務要花一整個晚上執行,所以設計者每天都會有一次設計迭代; 4.運算任務需要好幾天的時間執行,所以使用者會盡可能的避免運行整個晶片設計,但這在設計簽核(Signoff)時是無法避免的。 不用說,第一、二甚至第三種狀態,都比第四種狀態更可取。但實際情況是,不只Signoff DRC無法在一夜之間完成,跑個三天都不算罕見,甚至連某些子平台也需要超過24小時的運行時間。更糟糕的是,DRC需要具有大量記憶體及處理器核心的機器,而它們價格昂貴,因此很少見。 目前業界所使用的典型「作業調度程序(Job Scheduler)」(如LSF或RTDA)無法優雅地處理它們。如果你需要四台同時具有巨大記憶體容量的機器,那麼作業調度程序必須讓第一到第三類作業空等,讓第四類作業有最高優先順序。這會在等待時浪費一些最昂貴的計算資源,而且由於這樣的機器很少,所以即使是開始工作的延誤,也是很大的浪費。 因此,業界需要評估不同的做法,在自有特殊伺服器農場或使用公有雲提供的大量普通伺服器之間進行權衡。不過,相對的,軟體工具也必須具有這種支援大量平行化與不同運算架構的彈性。 新軟體架構支援各種布署方案 以Cadence為例,該公司近期發表的Pegasus就可以在模擬或客製的環境中運行,並與Virtuoso平台以及Innovus實現系統(Implementation System)無縫整合。關鍵是它使用目前晶圓廠認證的PVS平台。 和其它命名中帶有「-us」字尾的產品相比, Pegasus的平行化程度更高。它是第一個將流水線基礎設施與資料流架構(Dataflow Architecture)結合的解決方案,可在上百個CPU上實現「近線性可擴展性(Near-linear Scalability)。它是雲端就緒的產品,能夠在內部伺服器或亞馬遜雲端服務(AWS)等外部商業雲端上運行。對使用者來說,Pegasus可以直接在高峰使用期間,例如DRC送交設計定案(Tape Out)時,從公有雲逐步添加大量資源。 Pegasus的早期客戶之一是德州儀器(TI);與其現有的解決方案相比,他們已成功使用大量的Pegasus CPU,大幅降低了全晶片DRC的運行時間。另一位早期客戶是Microsemi,它發現以前需要運行24小時以上的工作可以在幾個小時內完成。結果如圖3所示。在沒有Pegasus的情況下,在「時序收斂(Timing Closure)」後可以預見昂貴的延遲,而在有Pegasus的情況下,DRC及最終的「工程變更指令(ECO)」週期是快速且可預測的。 圖3 高度平行化並可支援外部運算資源的Pegasus可明顯減少DRC執行的時間。 根據Cadence彙整的資料,在使用360個處理器核心的條件下,三個不同客戶的實際設計加速了6倍到12倍不等。更重要的是,Pegasus還可支援更多核心,且效能還可持續增加。圖4顯示,Pegasus可支援160、320、640個CPU核心,且效能可持續提升。許多平行化工具在數十個CPU核心上運作,可表現出令人驚艷的加速成果,但核心數量增加到一定程度後,再添加額外的處理器核心,就不再有進一步的改進,甚至在某些情況下,由於協調CPU資源的工作成為瓶頸,反而會導致速度減慢。 圖4 Pegasus的可擴展性 因此,Pegasus允許企業利用內部伺服器中的大量通用伺服器,有效地擴展到上百個核心。當內部資源耗盡或無法使用時,Pegasus可以銜接雲端上的資源繼續使用。 不過,筆者還是要提醒,當開發團隊擁有近乎無限量的處理器核心時,很容易造成運算資源的浪費,而這個代價可不便宜。浪費模擬或浪費迭代太容易了。 EDA上雲端 機器學習水到渠成 當雲端及EDA都匯集在一起時,機器學習的元素,就可以很自然地加入其中。 與Cadence...
0
- Advertisement -
- Advertisement -

最新文章

- Advertisement -

熱門文章

- Advertisement -

編輯推薦

- Advertisement -