MI350細節來了,對話AMD首席架構師

MI350細節來了,對話AMD首席架構師

本文由半導體產業縱橫(ID:ICVIEWS)編譯自chipsandcheese
MI350系列加速器幕后的故事 。
在AMD的“推進AI2025”大會上 , 記者采訪了AMD高級研究員兼Instinct架構首席設計師艾倫·史密斯(AlanSmith) , 并圍繞MI350系列加速器中搭載的CDNA4架構展開探討 。 以下是經過精簡和優化的文字實錄 。
聊聊MI350吧 , 它仍然基于GFX9架構 , 也就是Vega架構或其衍生版本 。 為什么MI350依然采用GFX9 , 而客戶端產品如RDNA 3/4已分別升級至GFX11/GFX12?
艾倫:這個問題問得很好 。 正如大家都知道的 , CDNA架構源自之前幾代的InstinctGPU , 從MI100及更早的產品開始 , 都采用的是GraphicsCoreNext(GCN)架構 。 經過幾代的發展 , CDNA已經針對高性能計算和AI領域的分布式計算算法進行了高度優化 。 因此 , 我們認為以GFX9為基礎來打造MI350 , 能夠為我們提供實現MI350系列性能目標所需的關鍵要素 。
關于GCN架構 , 我們知道它有獨立的L1緩存和LDS(本地數據存儲) 。 為什么MI350仍然保留了這一設計 , 而沒有將它們合并呢?
艾倫:這是GCN架構的一個傳統設計 , 也是計算單元基本構建方式的核心所在 。 我們覺得在這一代產品中 , 還不是進行這種規模微架構變革的合適時機 。 所以我們采取了另一種方式 , 增加了LDS的容量 。 之前的MI300系列中 , LDS容量為64KB , 而在MI350系列中 , 我們將其提升到了160KB 。 此外 , 我們還提高了帶寬 。 我們將LDS到寄存器文件的帶寬翻倍 , 以便能夠滿足MI350系列中TensorCore的運算速率需求 。
說到TensorCore , 你們在MI350x中引入了支持FP8、FP6和FP4數據類型的微縮放格式 。 有趣的是 , MI350的一個主要優勢在于FP6的運算速率與FP4相同 。 你能談談這是如何實現的 , 以及為什么要這樣設計嗎?
艾倫:當然可以 。 我們認為 , 在MI350進入市場的這個時期 , 考慮到當前AI領域的發展狀況 , FP6格式不僅有潛力用于推理 , 還有可能用于訓練 。 因此 , 我們希望確保FP6的性能在同類產品中處于領先地位 , 超越其他廠商可能已經實現或正在實現的水平 。 由于硬件設計需要很長的前置時間 , 我們在幾年前就開始考慮這個問題 , 希望確保MI350在FP6性能上占據領先地位 。 所以我們決定讓FP6數據路徑的吞吐量與FP4數據路徑相同 。 當然 , 為了實現這一點 , 我們需要在硬件上做一些額外的投入 。 顯然 , FP6比FP4多了幾個比特 , 這也是它被稱為FP6的原因 。 但我們成功地在矩陣引擎的面積限制內實現了這一點 , 并且以一種非常節能和省面積的方式做到了 。
談到數據類型 , 在硬件級加速的操作列表中沒有看到TF32 。 為什么要從MI350中移除這個功能 , 或者說為什么它不是MI350的主要考慮因素呢?
艾倫:其實我們是考慮過的 , 但最終決定移除它 。 我們認為在這個時期 , 腦浮點16(BF16)格式可以被大多數模型用來替代TF32 。 而且我們在BF16上的吞吐量比TF32高得多 , 所以我們覺得對于這個產品實現來說 , 這是一個正確的權衡 。
如果使用TF32 , 速度會是多少呢?會和FP32的速度一樣嗎?
艾倫:使用TF32會有兩種選擇 。 我們提供了一些仿真功能 , 雖然我不能立刻說出確切的吞吐量細節 , 但我們確實提供了基于軟件的仿真 , 使用BF16來仿真TF32 , 或者你也可以將其轉換為FP32 , 以FP32的速率使用 。
從計算單元(CU)談到XCD(計算裸片) , 新的計算裸片現在采用了N3P工藝 , 但物理上裸片上的CU數量從40個減少到了36個 , 每個著色器引擎禁用了4個CU 。 為什么現在是32個啟用的CU , 為什么要減少數量呢?
艾倫:在 MI300 上 , 我們協同設計了 MI300X 和 MI300A 兩個版本 , 一個用于 HPC(高性能計算) , 一個用于 AI 。 在 MI300A 中 , 我們只有六個 XCD 。 因此 , 當我們只有六個加速器小芯片時 , 我們需要確保有足夠的計算單元來支撐 HPC 或高性能計算(即傳統的 FP64 雙精度浮點模擬)的性能水平 , 以達到我們為目標市?。 斕技凍都撲慊┥瓚ǖ男閱苣勘?。
我們做到了這一點 , 并與勞倫斯利弗莫爾國家實驗室 (Lawrence Livermore) 一起 , 通過 El Capitan 超級計算機交付了世界上最快的(HPC)系統 。 但作為當時的考量 , 我們希望每個 XCD 擁有更多的計算單元 , 以便在 MI300A 中總共達到 224 個 CU 。
而在MI350上 , 它是專門設計為純加速器、獨立加速器的 , 我們在那里有更大的靈活性 。 因此我們決定讓每個芯片上啟用的計算單元數量是2 的冪——物理上是 36 個 , 但我們啟用 32 個 。 其中四個(每個著色器引擎一個)用于良率冗余(harvesting) , 我們在臺積電 N3(一項領先技術)的高產量制造過程中將它們熔斷禁用 , 最終保證我們啟用的數量是 32 個 。
32 是個很好的 2 的冪數 , 如果你有 2 的冪數的計算單元 , 張量填充(tiling)會更容易 。 所以你處理的大多數張量 , 或者說很多張量 , 都是基于 2 的冪數的矩陣 。 這樣就能輕松地將它們填充(tile)到計算單元的數量中 , 并減少可能出現的“尾部效應”(tail effect) 。 因為如果你的計算單元數量不是 2 的冪數 , 那么張量的某部分可能無法很好地直接映射 , 你可能需要在最后只使用一部分計算單元來完成剩余的工作 。 因此我們發現 , 擁有 2 的冪數的計算單元數量可以帶來一些優化 。
雖然新的計算單元采用了N3P工藝 , 但I/O裸片采用的是N6工藝 , 為什么繼續使用N6呢?
艾倫:首先 , 在我們的小芯片技術中 , 我們是有選擇的 , 采用小芯片設計讓我們能夠在合適的情況下選擇不同的工藝 。 而I/O裸片中的部件 , 往往不太適合采用先進工藝進行縮放 。 比如HBM物理層(PHYs)、高速串行器/解串器(SERDES)、我們配備的InfinityCache緩存以及靜態隨機存取存儲器(SRAMs)等 , 這些部件不太容易隨著工藝的進步而很好地縮放 。 因此 , 在大尺寸裸片上采用成熟良率的舊工藝 , 可以為我們的客戶提供具有成本效益和總擁有成本(TCO)優勢的產品 。 然后 , 我們能夠將最先進的工藝 , 如N3P , 用于計算部分 , 因為在計算單元的實現上 , 我們可以從功耗和面積縮放中獲得顯著的好處 。
除LDS外 , 緩存層級架構是否有變化?
艾倫:因為 , MI300的設計是為了在高性能計算中實現最高性能 , 要做到這一點 , 我們需要為計算單元提供足夠的全局帶寬 , 以支持雙精度浮點運算 。 所以我們已經設計了InfinityFabric和XCC(加速計算核心)內部的結構 , 以提供足夠的帶寬來滿足MI300中高雙精度矩陣運算的需求 , 以及與之相關的所有緩存層級結構 。 因此 , 我們能夠利用已經內置在MI300中的這些互連能力 , 所以不需要對它們進行任何修改 。
對于 MI350 , 你們現在從四個基礎裸片減少到了兩個基礎裸片 。 這一變化在頂部裸片的布局方面實現了哪些優化?
艾倫:在MI350中 , I/O裸片只有兩個 。 每個I/O裸片承載四個加速器小芯片 , 而在MI300中 , 我們有四個I/O裸片 , 每個承載兩個加速器小芯片 。
我們這樣做的原因是 , 我們希望增加來自全局HBM的帶寬 。 MI300是為HBM3設計的 , 而MI350則是專門為HBM3E設計的 。 所以我們希望從5.2或5.6Gb/s提升到完整的8Gb/s 。 但我們也希望以盡可能低的功耗來實現這一點 , 因為在固定的GPU功耗水平下 , 以最低的每比特能耗將數據從HBM傳輸到計算核心 , 就能在同一時間為計算部分提供更多的功耗 。 對于受帶寬限制的內核 , 通過減少數據傳輸所消耗的功率 , 我們可以將更多的功率用于計算 , 從而為這些內核提供更高的性能 。
因此 , 我們通過將兩個芯片合并為一個 , 能夠拓寬這些芯片內部的總線 , 這樣每個時鐘周期可以傳輸更多的數據 , 因此我們可以以更低的頻率和更低的電壓運行它們 , 這使得傳輸這些數據所需的功率隨著電壓的平方而降低 。 這就是我們這樣做的原因 。
說到功耗 , MI350x的功耗為1000瓦 , MI355x為1400瓦 。 當考慮到功耗增加40%時 , 除了系統冷卻 , 在保持各個小芯片在公差范圍內方面 , 有哪些不同的散熱考慮呢?
艾倫:當我們對這些芯片進行整體功耗和散熱架構設計時 , 我們會從主板一直考慮到子板 , 在這種情況下是UBB(通用基板)、OAM(OCP加速器模塊) , 然后到CoWoS(芯片在晶圓在基板上)的堆疊 , 中間層的I/O裸片 , 以及上面的計算部分 。 我們會考慮整個堆疊的總熱密度 , 以及堆疊內部的熱傳輸或熱阻 , 還有為了進行散熱而需要在上面構建的熱界面材料 。
因此 , 我們為MI350系列提供了兩種不同的散熱解決方案 。 一種是風冷 , 如你所說;另一種是直接附著液冷 。 在液冷情況下 , 冷板會直接附著在芯片頂部的熱界面材料上 。 我們對整個堆疊進行熱建模 , 并直接與所有技術合作伙伴合作 , 確保我們在芯片中構建的功率密度能夠被整個散熱堆疊所處理 。
*聲明:本文系原作者創作 。 文章內容系其個人觀點 , 我方轉載僅為分享與討論 , 不代表我方贊成或認同 , 如有異議 , 請聯系后臺 。
【MI350細節來了,對話AMD首席架構師】想要獲取半導體產業的前沿洞見、技術速遞、趨勢解析 , 關注我們!

    推薦閱讀