2013-02-16 33 views
0

我怎麼知道CUDA調度的行爲?除了在我的應用程序中通過改變網格大小,塊大小等進行測試之外,任何供應商提供的文檔都能準確解釋塊以何種方式分發?CUDA的工作調度

回答

1

這取決於你正在使用的架構。

Fermi架構,例如,你有一個GigaThread全局調度分發線程塊的流多處理器(SM)調度。對於每個SM,Dual Warp調度程序以32個並行線程的組爲單位調度線程,這些線程稱爲warps。

這在NVIDIA White Paper on Fermi是很好的解釋。我建議也看看這個其他document

+0

確定。那是對的。謝謝。我真的很想知道是否有任何方法可以找到,所有SM,調度程序最近都分配了這些線程。即,是有(保持那種什麼的)任何日誌文件,調度每次更新此信息(以便通過觀察我們可以發現該日誌文件,所有SMS當前工作)? – 2013-02-16 07:18:35

+0

[續..]我正在使用特斯拉M2050 fermi。因此,如果GigaThread全局調度程序將線程塊分發給SM調度程序,那麼哪個調度程序準確決定要使用多少個SM以及哪些SM?當線程被安排到那些特定的SM上時,有什麼方法可以找出那些SM的ID? – 2013-02-16 07:28:16

+0

我不知道有哪些方法可以知道將哪些塊或多個塊分配給哪些SM。關於你的問題,我想說GigaThread全局調度程序決定要使用的SM的數量和ID。 – JackOLantern 2013-02-16 08:09:32