1台のコンピュータに複数のグラフィックスボードを実装したとき(マルチGPU)と、
複数台のコンピュータに1個または複数のグラフィックスボードを実装したとき、
すべてのグラフィックスボードを使用して並列計算することができます。
CUDAとMPIの両方を実装します。
一般的な注意点については[3]を参考にして下さい。
CUDA版を領域分割に対応して記述していれば、
MPI版の通信関数を利用することにより簡単な作業で実装することができます。
表4-5-1に1〜2GPUの計算時間を示します。通常1GPUに1プロセスを起動します。
表より2GPUでは1GPUの2倍近く速くなることがわかります。
また2GPUでは使用可能なメモリーが2倍になり、より大きな問題が計算できるようになります。
GPU数(プロセス数) | ベンチマーク300 | ベンチマーク400 | ベンチマーク500 |
---|---|---|---|
1 (1) | 17.2秒 (1.0) | 39.9秒 (1.0) | 79.3秒 (1.0) |
2 (2) | 9.6秒 (1.79) | 21.5秒 (1.85) | 42.0秒 (1.88) |