複数のGPU カード並列に使用することはできますか?
9 views (last 30 days)
Show older comments
MathWorks Support Team
on 9 Nov 2016
Edited: MathWorks Support Team
on 21 Sep 2021
Parallel Computing Toolbox (PCT) を使用する際に 1 台のコンピュータに複数の GPU カードが存在する場合、すべてまたは一部の GPU カードを使用するための方法を教えてください。
Accepted Answer
MathWorks Support Team
on 18 Aug 2021
Edited: MathWorks Support Team
on 21 Sep 2021
parfor や spmd を使用することで複数のGPUを同時に利用することができます。
クライアントおよびワーカー上で動作する MATLAB のプロセスは1 つの GPU カードのみ使用することのみ可能ですので、複数のGPU を使用するにはMATLAB ワーカーを複数起動する必要があります。これらのワーカーは、マシン上に複数のGPUが存在する場合には、それぞれ別々のGPUを選択します。GPUデバイスを明示的に指定する場合は gpuDevice 関数を使用します。
単純な例ですが、下記のスクリプトでは ii=1 で ID = 1 のGPU が使用され、ii=2 では ID = 2 の GPU を使用して計算を行います。
parfor ii=1:2
gpuDevice(ii);
gX = gpuArray(rand(10));
gXX = gX.*gX;
XX = gather(gXX);
end
参考:Running Monte Carlo Simulations on Multiple GPUs
https://blogs.mathworks.com/loren/2013/06/24/running-monte-carlo-simulations-on-multiple-gpus/
0 Comments
More Answers (0)
See Also
Categories
Find more on GPU 計算 in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!