微軟計劃在 Direct3D 12 新增工作圖功能,可解除 GPU 與 CPU 間通信帶寬限制|全球觀察
(資料圖片僅供參考)
IT之家 6 月 28 日消息,微軟計劃在 3D 圖形程序開發(fā)接口 Direct3D 12 中加入工作圖(Work Graphs)功能,這項功能可解除目前 GPU 程序開發(fā)模型中的限制,讓 GPU 通用運算能夠處理更多的工作負載,更廣泛地被應用。
IT之家注意到,在傳統(tǒng)情況下,GPU 的工作負載需要由 CPU 決定,即 GPU 運算的每一個結果,都需要傳輸給 CPU 進行分析解讀,在此之后重新傳輸?shù)?GPU,并進行下一輪工作。雖然這種情況在當下并不會產(chǎn)生肉眼可見的滯后,但實際上還是增加了 GPU 和 CPU 之間的帶寬開銷,且因為傳輸速度,CPU 及 GPU 的性能釋放實際上也會受到一定限制。
例如 Epic Games 所開發(fā)的虛幻引擎 5,已經(jīng)將這一套 GPU 與 CPU 之間的協(xié)作傳輸帶寬吃盡。例如中的虛擬化幾何技術 Nanite 以及全局光照解決方案 Lumen,需要由 CPU 發(fā)出一系列獨立的調度,因此雖然能產(chǎn)生極佳的畫面效果,但歸根結底,實際上已經(jīng)到了架構的極限,因此這些技術難以在未來進行本質上的更新,只能進行一些小修小補。
在 Direct3D 12 之前,實際上已經(jīng)出現(xiàn)了名為 ExecuteIndirect 的指令,允許 GPU 在不需要 CPU 介入的情況下,依據(jù)先前 GPU 的運算結果,決定所要執(zhí)行的工作負載。該指令可以使運算更有效率,同時最大限度提升 GPU 的利用率。而如今微軟“站在巨人的肩膀上”,推出了 Direct3D 12。
新的工作圖(Work Graphs)是供 GPU 運作的著色器線程,一旦 GPU 處于空閑狀態(tài),系統(tǒng)便能夠繞過 CPU,讓 GPU 自行處理先前的運算結果,相對可以更容易表達出開發(fā)者所設計的算法意圖和結構,也又不會過度造成開發(fā)者的負擔。
微軟提到,這種模型的異步性,讓系統(tǒng)擁有更大的自由度,決定執(zhí)行工作的最佳方法。但當下工作圖的兼容性有限,且目前還在早期預覽階段,更多用于商企軟件,尚未落地于“游戲娛樂”,因此還需要一段時間的發(fā)展。
據(jù)悉,AMD、英偉達、英特爾和高通四大芯片廠商都參與了工作圖的設計。AMD 顯卡驅動程序目前已經(jīng)率先支持工作圖,他們已在 AMD Radeon RX 7000 系列顯卡的 Adrenalin 版本驅動程序中加入了相關 API,同時也有相對應的文件供開發(fā)者閱讀。
廣告聲明:本文含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考。IT之家所有文章均包含本聲明。
標簽: