FFT spread to multiple GPU's ?
6 ビュー (過去 30 日間)
古いコメントを表示
Hi, I just got 4 Tesla K80 and was wondering if it was possible to distribute a FFT calculation to more than one gpu ?
Also, I just did a small performance comparison between my Tesla K40 from my previous computer and the new one with 4xTesla K80 and it is 2x slower !
Something weird is the following :
for ii = 1:gpuDeviceCount
g = gpuDevice(ii);
fprintf(1,'Device %i has ComputeCapability %s \n', ...
g.Index,g.ComputeCapability)
end
Device 1 has ComputeCapability 3.7
Device 2 has ComputeCapability 3.0
Device 3 has ComputeCapability 3.7
Device 4 has ComputeCapability 3.7
Device 5 has ComputeCapability 3.7
Device 6 has ComputeCapability 3.7
Device 7 has ComputeCapability 3.7
Device 8 has ComputeCapability 3.7
Device 9 has ComputeCapability 3.7
Matlab is counting 9 gpu's and for the second one he is telling me it is a K120 instead of K80...I thought the two gpu's inside the K80 would work as a single !!
Cheers, Nicolas
0 件のコメント
回答 (1 件)
Joss Knight
2016 年 10 月 5 日
I'm guessing you have a Quadro K120 GPU driving your graphics attached to your machine, or elsewhere on the PCI bus, is that possible?
The K80 is seen by the driver as two separate GPUs. Both have lower performance than a K40 on its own.
To use many GPUs at once you need to use a parallel pool, e.g.
parpool('local', gpuDeviceCount);
You can set each worker to use a different GPU (that is the default anyway). Then use a parallel construct such as parfor, parfeval, batch or spmd to do work on each worker. Keep communication between workers to a minimum and you should be able to get the performance improvements you are looking for.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Manage Products についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!