[初步結論]DX12強制加入的A卡特性ACE非同步計算是否是為彌補GCN效率低的缺陷?

末尾已更新

……………………………………………

一個愛好而已專業術語也不懂,到各大論壇拿出來說,認真的少看戲的多,想說這裡能不能有解答。按我自己的理解,GCN架構是A一開始就明白其管線效率不夠才添加了ACE這一特性,直到佔領主機市場被加入DX12才讓其計劃正式邁進,但VEGA卻爆出為重新設計,效率大增的新聞,結合之前有人在知乎回答說,NVIDIA之所以不需要ACE是因為本身架構上管線效率就很高,就算在這裡投入也沒什麼用。那如果VEGA本身simd的利用效率就很高,沒有多餘的空間可以給非同步計算髮揮,是不是等於這麼多年的棋都白下了?另外,ACE到底是線程級的並行還是任務級的?小問題比較多,想多了解了解,謝謝。

在高手「叛逆者」的回答下,有兩個小追問,能解答一下就太好了。

………………………………………………

又更新了最新動態,我目前的結論是,作為Xbox的API,DX12的重點就是為了拯救A卡的HWS方案和draw call效率,N卡在這方面本身已經接近優秀,DX12下的A卡追趕上了與DX11下N卡在draw call方面的差距,之前的「管線效率」的描述顯然是不對的,但這次的理解應該有進步。評價上我認為這是對A卡有利的一個進步,但並不一定對行業有利。DX12強制要求通過HWS而沒有具體問題具體分析、給NV合適的空間,我覺得這是不合理的。如果A卡需要像費米架構那樣消耗大量HWS資源才能做到的任務,N卡通過SWS將CPU更好、更簡單地利用了,那為什麼不支持後者呢?更不用說前者在低層級API上的編程難了。VEGA架構最新的消息是HWS將改動,怕是要自己推倒自己了,善於承認錯誤也是一個優點。


不是。渲染和計算非同步這件事情,是一個發展到這個階段自然而然就會產生的東西,不是AMD特有,也跟GCN沒關係。NV不做的原因我在別的問題里也回答過,是因為這個需要軟硬體配合,很容易吃力不討好。

是任務級並行。


AMD在過去這些年中數次提及過非同步計算,非同步計算的重要性也在許多支持DirectX
12 和Vulkan的遊戲中清晰體現,當然包括VR遊戲。我們曾為AMD LiquidVR技術詳細說明過非同步計算的兩個重要特性:

  • 非同步時間扭曲(ATW)——有助於降低延遲及減少因丟幀造成的圖像抖動。Oculus的ATW解決方案使用戶和開發者都感覺自然易用。
  • 快速響應隊列(QRQ)——被遞交到該特殊隊列的任務在非同步運行時將被GPU優先處理,使之與其他工作重疊。

ATW在畫面渲染的同時追蹤用戶的頭部動作,並將最後一個完整的畫面二次投影到用戶最後一個頭部位置對應的視點上。
這能確保在系統不能夠及時完成新一幀完整畫面的渲染時,頭顯內依然顯示最新的畫面。QRQ允許二次投影的過程與顯卡渲染保持一致,使執行過程儘可能地快速和有效。

Oculus Rift頭顯內使用的ATW技術被證實其可以有效的減少延遲並為用戶提供更為舒適的VR體驗,但仍有一定的局限性。尤其是其只能補償頭部移動引起的渲染場景,而不能補償渲染場景內發生的動作。移動的物體只是在他們最後所在的位置內被二次渲染,這在一定程度上會明顯降低體驗質量。

AMD已經宣布對非同步空間扭曲(ASW)的支持,ASW是由Oculus提出的用以補足ATW並加強其效果的技術。ASW通過前面渲染的畫面去檢測之前的動作信息,並通過該信息去預測下一幀畫面中場景元素的位置。該技術可使二次投影畫面在被完全渲染後更加精準。

ASW必要的運動檢測需要巨大的計算量,並且必須在下一幀畫面呈現之前的幾毫秒之內完成。最新版本的LiquidVR提供了連接到強大的VR圖形處理硬體(AMD
Radeon GPU)的介面,它們可生成必要的運動向量而不對圖形引擎造成過多負擔。

目前,中國諸多VR頭顯廠家正在和AMD中國團隊深度合作,將ASW技術運用到他們自己的產品中,預計在2017年上半年這些具有ASW技術的頭顯會面市。這一技術和頭顯廠家的結合意在提高頭顯質量同時在不犧牲質量前提,降低開發者開發門檻和成本,促進VR進入普通消費級。


第一段是在說在下吧?


ACE非同步計算不是為彌補GCN效率低的缺陷,而是為了OpenCL。


推薦閱讀:

shader 一個pass計算多個光源如何實現?
國內外哪些學校的計算機圖形學比較強?
SIGGRAPH 2016有什麼看點?
有些神奇的圖片,比如這張,能解釋一下什麼原因嗎?
請教一篇siggraph上比較好實現的論文?

TAG:計算機 | NVIDIA英偉達 | AMD | 計算機圖形學 | DirectX12 |