2012-01-19 66 views
1

是否可以在多個GPU上同時從cuda 4.0中的單個線程啓動多個內核?cuda 4.0中的多個內核

+0

是的,你可以。看到http://stackoverflow.com/a/5097994/789683 – flipchart

+1

可能重複的[併發內核執行](http://stackoverflow.com/questions/5097855/concurrent-kernel-execution) – talonmies

+1

我認爲這個問題有點不同因爲該問題還包括單線程中的多個GPU。當然,這兩個問題都是單獨使用計算器處理的。 –

回答

2

要從單個線程使用多個GPU,您可以在cuda上下文(每個綁定綁定到GPU)之間切換並異步啓動內核。實際上,您將以這種方式在多個GPU上運行多個內核。

但是,如果您的計算能力大於2.0的卡片,也可以同時運行內核,如上面的註釋中所示。你可以找到關於concurrent kernel execution over here的文章。

當然,如果您有多個計算能力> = 2.0的卡,則可以同時使用這兩個卡。

0

是的。 如果有2個設備,您可以運行kernel1 < < < >>> at device0 and kernel2 < < < >>> at device1。有一個選項setdevice()用來選擇內核將在其上執行的設備。 谷歌它,它在cuda庫4.0