微軟D3D12新增「工作圖」功能 高通、Nvidia都參與

記者/竹二

微軟近日宣布,計畫在3D圖形程式開發介面D3D12新增工作圖(Work Graphs)功能,以提升GPU通用運算的工作負載處理能力,讓GPU通用運算能夠處理更多的工作負載,更廣泛的被應用,據了解,AMD、Nvidia、英特爾和高通四大晶片廠商都參與工作圖的設計。

微軟計畫在3D圖形程式開發介面D3D12新增工作圖(Work Graphs)功能。(圖/截取自微軟部落格)

GPU若是工作負載,大多是由之前其他的工作所衍伸,傳統上當GPU發生工作負載,需要根據之前的運算結果決定,系統還是必須先將運算結果回傳CPU,交由CPU解讀之後重新發派工作給GPU,只不過,雖然這種模式在大多情況下運作良好,但是卻會增加GPU和CPU之間的通訊開銷,因此如果能有一個機制可以直接由GPU重新發派工作,運算將會更有效率,也能最大化GPU的利用率。

據了解,這樣的概念之前在D3D12就已經被使用過,通過一個稱為ExecuteIndirect的指令,就允許GPU在不需要CPU介入的情況下下,依據先前的運算結果,決定所要執行的工作負載。

而微軟這項新的「工作圖」功能,就是讓GPU上運作的著色器執行緒(thread),也可以請求執行其他工作,且一旦GPU有空,系統還可以安排這些重新請求的工作給GPU,還能管理資料流所使用的記憶體,因此「工作圖」可以被看作是一種結構,節點由著色器程式碼組成,每個節點都可以重新請求其他節點。

根據微軟的說法,「工作圖」可以表達出開發者所設計的演算法意圖和結構,但又不會過度造成開發人員的負擔,這種模型的非同步性,讓系統擁有更大的自由度,決定執行工作的最佳方法。

據悉,AMD、Nvidia、英特爾和高通都加入協助設計「工作圖」,只不過目前還在早期預覽階段,但AMD顯示卡驅動程式已經率先支援這項功能,已在AMD Radeon RX 7000系列顯示卡的Adrenalin版本驅動程式實作,同時也有相對應的文件供開發者閱讀。

瀏覽 19,428 次

覺得不錯的話就分享出去吧!

發佈留言

Back to top button