5
我使用NVIDIA Grid K2進行CUDA編程。它有兩個GPU,每個都有1536個內核。 是否可以在單個或多個內核調用中使用兩個GPU?使用多個CUDA GPU
我使用NVIDIA Grid K2進行CUDA編程。它有兩個GPU,每個都有1536個內核。 是否可以在單個或多個內核調用中使用兩個GPU?使用多個CUDA GPU
不,這是不可能的。多GPU卡上的每個GPU(如Grid K2)都是一個獨立的CUDA設備,具有自己的內存。因此,每個GPU都有自己的CUDA上下文,並且必須明確地編程。 CUDA驅動程序或運行時不會自動將兩臺設備用作內核啓動的單個虛擬設備。
是否至少共享內存?即。我可以將數據從主機複製到device0,然後在設備1上運行內核,它將使用來自device0的數據?還是我必須分別將數據複製到每一個?還是至少可以在設備之間直接複製數據(從dev0到dev1)? – Val
@ValCool:據我所知答案是否定的,內存不共享。在支持的平臺上,可以使用統一的虛擬內存和對等內存訪問,但兩個獨立的GPU僅通過板上常見的PCI-e橋接芯片連接,並且通信基本上處於PCI-e DMA速度 – talonmies
所以SLI不用於這種通信? – Val