關於 context switch 也有找到一篇文章,應該可以補充之前提到粒度大小的東西
http://pc.watch.impress.co.jp/docs/...926_668620.html
重點在段落標題"CPUライクな柔軟なコンテクストスイッチ"、"インドでTongaの詳細を発表"
這兩段
簡單的翻譯是一般GPU使用的context 大(也就是之前提到的粒度大),記憶體儲存有延遲性
以前的GPU是全體跑一個context,要做context switch 就要把沒處理完的context先儲存起來
這時候會有延遲性大的問題
AMD 為了要以CU為單位去跑 context 需要降低其延遲性,所以context就被切成八份(也就是粒度小)
這樣需要context switch時 可以單獨切換其中一個,而不必一次切換掉八個;
不過AMD說能作到像CPU那樣的context switch是tonga(GCN1.2)之後才有辦法
GCN1.0、GCN1.1 還沒辦法,所以Kaveri(GCN1.1)沒有相容HSA 1.0,到carrizo才有相容hsa 1.0
文章裡面也寫到NV的Maxwell 有很像context switch 構造的東西,但NV還沒把它有效化
或許NV之後可以用軟體方式修正
只不過kaveri 其實也有 context switch 構造,AMD最終是對硬體進行修正產生了GCN1.2才支援context switch
context switch 或許可能是個重點
但GCN1.0、GCN1.1(不能switch) 如果也能受惠DX12
那就回到基本的問題上可能跟粒度大小有直接關係