目次

3.6 CUDA+MPIによる並列化

3.6.1 CUDA+MPIプログラム

3.4のMPIによる並列化と3.5のCUDAによるGPU対応が適切に実装されていれば、 CUDA+MPIプログラムは形式的な変更ですみます。

3.6.2 CUDA+MPIの計算時間

表3-6-1に1GPUで1~2プロセス起動したときの計算時間を示します。
1プロセスと2プロセスの計算時間が変わらなければ、 2GPUが実装された環境では1GPUの2倍速くなることが予想できます。
表より2プロセスの速度は1プロセスの約0.75倍なので、 2GPU実装時は1GPUの0.75*2=1.5倍程度速くなることが期待できます。
また、GPUではメモリーが限られているので、 使用メモリーの少ないnomatrixモードを推奨します。

表3-6-1 CUDA+MPIの計算時間(1GPU、()内は1プロセスとの速度比)
プロセス数benchmark100benchmark200
nomatrixmatrixnomatrixmatrix
1 8.5秒 (1.0) 7.9秒 (1.0) 60.9秒 (1.0) 137.5秒
211.1秒 (0.77)10.8秒 (0.73)80.4秒 (0.76)メモリー不足