2016-04-21 157 views
1

使用CUDA,多GPU上的所有GPU必須是相同的GPU模型嗎?Cuda多個GPU:所有GPU都是同一個型號?

例如,我現在有一個Geforce 950。如果我有更多的卡片,他們都必須是950s? (如果是的話,我必須留在同一製造商?)


的回答顯示瞭如何控制CUDA每個單獨的GPU(假設GPU是所有CUDA具有相同的計算水平),和證實我可以購買不同型號的NVIDIA卡(在我花費300美元之前)並安裝在相同的CUDA安裝(因爲CUDA工具在每臺機器上編譯)就足夠了。

因此,例如,一個答案告訴我如何採用tensorflow .py腳本並在我的電路板上使用CUDA命令的三個GPU之一運行它,這些答案也可能是好(爲了這個問題;我想我現在肯定有足夠的工作來找出答案)。

我相信這與CUDA軟件如何處理硬件有關,並且將成爲超級用戶的主題;不過,我很樂意改變它。

回答

3

答案是:你可以處理你想要的每一個不同的CUDA GPU。 只要您管理它們,CUDA中的應用程序可以處理多個不同的圖形卡和多個不同的GPU。

查看CUDA Faq,硬件和結構部分和Multi-GPU slide,均來自Nvidia官方。

問:CUDA在一個系統中是否支持多個圖形卡?

是的。應用程序可以跨多個GPU分配工作。但這不會自動完成,因此應用程序具有完全控制權。有關編程多個GPU的示例,請參閱GPU計算SDK中的「multiGPU」示例。

+0

所以答案是否定的:) –

+0

取決於你如何看待asnwer。去編輯這個來修復它。 – Taro

0

祝您好運,在非NVIDIA的卡上運行CUDA,但無論實際使用者是誰(EVGA,MSI等)都無所謂。

這將回答您的問題(與如何實現的東西例子):

http://www.nvidia.com/docs/IO/116711/sc11-multi-gpu.pdf

編輯補充:

簡短的回答:沒關係。這不是SLI。

+0

我不認爲回答這個問題的。問題是「多GPU設置中的所有GPU需要使用相同的模型」。如果問題的答案在這個鏈接中,那麼在你的答案中引用它就很好。 –

+0

教一個人釣魚... 鏈接清楚地顯示了一個函數調用「cudaSetDevice()」,它確實如你所想。它不關心設備1是否是980ti,設備2是幾年前的270。 –

+2

鏈接顯示的內容並不重要,鏈接可能會過期,這就是爲什麼您至少應該在您的回答中包含相關部分,以便它在鏈接腐爛的情況下仍然*有用*。這是標準的SO練習。你的評論也可以被解讀爲你的答案。 –

1

它們不必是完全相同的卡片(型號或製造商),但是如果它們具有相同的計算能力,它會更好(從開發的角度來看)。

您對使用功能cudaSetDevice等工作共享的完全控制,如記錄here

+0

我認爲問問的人會喜歡從外部來源引用報價和/或鏈接;) – Taro

+0

的確如此。添加了運行時API文檔的鏈接 –