1台のコンピュータに複数のグラフィックスボードを実装したとき(マルチGPU)と、
複数台のコンピュータに1個または複数のグラフィックスボードを実装したとき、
すべてのグラフィックスボードを使用して並列計算することができます。
CUDAとMPIの両方を実装します。
CUDA版を領域分割に対応して記述していれば、
MPI版の通信関数を利用することにより比較的簡単な作業で実装することができます。
GPU数を増やすと使用できるメモリー容量が増え、
より大きな問題が計算できるようになります。
表3-5-1に1GPUで1~2プロセスを起動したときの計算時間を示します。
1プロセスと2プロセスの計算時間が変わらなければ、
2GPUが実装された環境では1GPUの2倍速くなることが予想できます。
表より2プロセスでは1プロセスの約1.35倍の計算時間がかかっているので、
2GPU実装時は1.48(=2/1.35)倍の高速化が予想されます。
プロセス数 | ベンチマーク400 | ベンチマーク500 | ベンチマーク600 |
---|---|---|---|
1 | 6.0秒 | 11.4秒 | 19.3秒 |
2 | 8.2秒 | 15.5秒 | 26.1秒 |