如何啟用停用的串流處理器(SM)?

如何啟用停用的串流處理器(SM)?

我使用的是 NVIDIA Quadro K2000 GPU。我跑了deviceQuery.exe,結果如下。它說我只有 2 個 SM 單位。我不確定我是否真的只有 2 個 SM,或者我的一些 SM 已被禁用,例如這個問題的第三條評論

我還看到每個SM的SP數量是192個。可能有某種方法可以啟用更多 SM,然後每個 SM 的 SP 數量將會減少。

影像

更新:我問這個問題的原因是我想讓我的 GPU 處理效率更高。我有一張 1080 x 1920 的圖像,我將其分為三個部分。我正在傳輸這些段 H2D,非同步處理和傳輸 D2H。因此,我想選擇這樣一個區塊的尺寸和每個區塊的線程數,可以有效地利用我的 GPU 的硬體配置。此外,我仍然感到困惑的是,具有超過2 個SM(假設有8 個SM)但每個SM 的SP 數量較少(384/8 = 每個SM 48 個SP)的GPU 與具有2 個SM 和每個SM 192 個SP 的GPU 的效能相同。我的意思是,可用 SP 的總數很重要嗎?

答案1

為了:

  1. 我不確定我是否真的只有 2 個短信,或者我的某些短信已被禁用

    你的GPU是GK107。它有兩個 SMX,每個都有 192 SP。沒有禁用的處理器。

  2. 可能[原文如此]有某種方法可以啟用更多SM,然後每個SM的SP數量將會減少。

    沒有什麼神奇的方法可以改變軟體中的晶片。

  3. 我仍然感到困惑的是,具有超過2 個SM(假設有8 個SM)但每個SM 的SP 數量較少(384/8 = 每個SM 48 個SP)的GPU 與具有2 個SM 和每個SM 192 個SP 的GPU 的效能相同嗎?

    這是一個很大的問題,我不會在這裡嘗試回答。 NVIDIA 發布了許多非常詳細的白皮書,介紹其各代旗艦運算卡的架構和效能。如果您願意,我建議您自己閱讀它們。話雖如此,經驗法則是在同一代架構內設備擁有的 SM 或 SMX 越多,它在算術限制運算中的表現就越好。比較不同世代的 GPU 是徒勞無功的。例如,NVIDIA 發布的第一款 Telsa 計算卡有 16 個 SM(C860)。最近的有 15 個 SMX(K40)。它們的峰值單精度性能大約相差 10 倍。另請注意,許多現實世界的應用程式都受到記憶體頻寬的限制,這可以從根本上改變不同卡之間的效能差異。雖然核心數量和峰值 FLOP 或多或少遵循摩爾定律,但記憶體頻寬卻沒有。

相關內容