目次

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プロセスの約1.4倍計算時間がかかっているので、 本環境では2GPU実装時の計算時間の短縮はあまり期待できません。
また、matrixモードの方が少し速いですが、GPUではメモリーが限られているので、 使用メモリーの少ないnomatrixモードを推奨します。

表3-6-1 CUDA+MPIの計算時間(1GPU、()内は1プロセスとの速度比)
プロセス数benchmark100benchmark200
nomatrixmatrixnomatrixmatrix
115.1秒 (1.0) 9.5秒 (1.0) 108.4秒 (1.0) メモリー不足
221.3秒 (0.71)13.6秒 (0.70)154.9秒 (0.70)メモリー不足