複数のGPU カード並列に使用することはできますか?

Parallel Computing Toolbox (PCT) を使用する際に 1 台のコンピュータに複数の GPU カードが存在する場合、すべてまたは一部の GPU カードを使用するための方法を教えてください。 

 採用された回答

MathWorks Support Team
MathWorks Support Team 2021 年 8 月 18 日
編集済み: MathWorks Support Team 2021 年 9 月 21 日

0 投票

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 件)

カテゴリ

タグ

タグが未入力です。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!