AMD八卡1.5TB顯存困擾Linux系統:睡不著

AMD八卡1.5TB顯存困擾Linux系統:睡不著

文章圖片

如今的AI加速計算卡配備的HBM高帶寬內存(顯存)容量越來越大 , AMD、NVIDIA都都做到了驚人的192GB , 而且即將增加到288GB , 沒想到給Linux造成了不小的困擾 。
AMD工程師Sameul Zhang在最新的Linux補丁中透露 , 如果一套系統配備多塊AMD Instinct加速卡 , 超大容量顯存會導致系統無法休眠 。
比如某臺服務器安裝了八塊AMD Instinct加速卡 , 單卡顯存192GB , 總計達到1.5TB , Linux就沒辦法正常休眠了 。

問題出自Linux在休眠過程中的GPU顯存處理方式 。
系統休眠時 , 所有的GPU顯存都會卸載到系統內存 , 一般通過GTT(圖形轉換表)或者共享內存(shmem) 。
然后 , 系統內核復制所有系統內存中的數據(包括處于evicted狀態的顯存) , 創建一個休眠鏡像 , 放入第二個內存區域 , 用于后續結束休眠的時候重新寫入磁盤 。
簡單地說 , 如果有1.5TB顯存 , 休眠系統鏡像就會最大達到3TB , 從而超過2TB系統內存容量 , 自然無法再休眠 。
當然 , 這個問題不止是AMD , 任何大顯存的GPU加速卡并行都會出現 。
Sameul Zhang為此提出了自己的解決建議 , 主要是減少休眠時所需復制的內存容量 , 但這會導致休眠恢復時間過長 , 可能接近1個小時 , 所以又加入了一個新補丁 , 跳過一些步驟 , 從而大大縮短休眠恢復的時間 。
【AMD八卡1.5TB顯存困擾Linux系統:睡不著】

    推薦閱讀