過去想使用Multiple GPU 的計算,大部分都是使用MPI或是OpenMP來達成,但CUDA日新月異的更新,提供了效能更好的Multiple GPU的存取效能

因此最近想來玩CUDA 4.0之後提供的peer to peer 技術,此技術不必透過主記憶體來當媒介,就可以讓多個GPU之間直接透過PCI互相存取將換資料

基本上只需要CC 2.0(Fermi)的架構,就能支援了。

此測試環境為 :

CPU : i5 2500k

MB : Z77 UD3H

RAM : DDRIII 1600MHZ 8GB

GPU 0 : Teasla C2075

GPU 1 : Geforce GTX 480

 

以下是我使用Ubuntu 12.04 LTS 的紀錄

 

測試CUDA SDK 5.0 : SimpleP2P

出現以下訊息 : CUDA Runtime API error 39: uncorrectable ECC error encountered.

會出現此問題我也找不出原因,但是至少我們可以手動將ECC關閉,這樣程式就能繼續執行囉~


>> $ sudo nvidia-smi -g 0--ecc-config=//關閉 ECC偵錯
>> $ sudo nvidia-smi -g 0--ecc-config=//開啟 ECC偵錯

 

 

關閉ECC之後會要求重啟系統,之後就能進入CUDA 5.0提供的SDK來進行測試囉

 

>> $ cd ~/NVIDIA_CUDA-5.0_Samples/C/0_Simple/simpleP2P$
>>$ sudo ./simpleP2P

 

 

經錯測試後非常成功的使用 Tesla C2075 與 Geforce GTX 480 進行 Peer to Peer 的存取,

透過以上的測試,往後就能更順利地玩 Multiple GPU的計算囉~


 





arrow
arrow
    全站熱搜

    忽倫 發表在 痞客邦 留言(1) 人氣()