2
我知道,具有Compute Capability 2.0的GPU的「每個多處理器的最大共享內存量」爲48KB,如指南中所述。CUDA,CC 2.0卡上的共享內存限制
我對我可以用於每個塊的共享內存的數量有點困惑嗎?多處理器中有多少個塊。我正在使用GeForce GTX 580.
我知道,具有Compute Capability 2.0的GPU的「每個多處理器的最大共享內存量」爲48KB,如指南中所述。CUDA,CC 2.0卡上的共享內存限制
我對我可以用於每個塊的共享內存的數量有點困惑嗎?多處理器中有多少個塊。我正在使用GeForce GTX 580.
在Fermi上,您可以使用多達16kb或48kb(取決於您選擇的配置)每塊共享內存 - 將確定多處理器上將同時運行的塊數每個塊需要多少共享內存和寄存器,最多8個。如果使用48kb,則只能有一個塊同時運行。如果每塊使用1kb,則每個多處理器最多可同時運行8個塊,具體取決於它們的寄存器使用情況。
所以我認爲它是最快的,如果我可以使用低於每塊48/8?和btw。我如何確定我使用的寄存器數量? – Kiarash
使用nvcc編譯器選項-Xptxas -v讓編譯器報告每個內核的寄存器和內存使用情況。 – njuffa
您也可以在計算可視化剖析器中運行您的內核 - 它將在佔用分析選項卡中向您顯示共享內存和註冊內核的使用情況,並說明每個多處理器上並行運行的塊數。 –