4.8 各手法の比較

以上で述べた各手法の計算時間をまとめたものを表4-8-1に示します。
No.2-3からSIMDにより1.4-1.5倍速くなり、 No.4-7からマルチスレッド/マルチプロセスにより1.7-1.8倍速くなることがわかります。 一方No.8-9からGPUを用いるCUDAはさらに大幅に速くなります。 GPUはプログラミングの作業量は増えますが高速化には一番効果があります。 ただし、GPUはメモリー容量がCPUに比べて一般に小さく、 大規模問題に適用できないという限界があります。

表4-8-1 各手法の計算時間(Windows、ベンチマークNo.2)
No.ハードウェア高速化手法計算時間速度比出所
1CPU高速化なし 233.5秒1.0 表4-2-1
2CPUSSE 159.1秒1.47表4-2-1
3CPUAVX 162.1秒1.44表4-2-1
4CPUOpenMP 4スレッド(SIMDなし) 134.6秒1.73表4-3-1
5CPUOpenMP 4スレッド(SSE) 128.6秒1.82表4-3-1
6CPUMPI 4プロセス(SIMDなし) 134.4秒1.74表4-4-1
7CPUMPI 4プロセス(SSE) 129.4秒1.80表4-4-1
8GPUCUDA 1GPU 10.8秒21.6表4-5-1
9GPUCUDA+MPI 2GPU 6.9秒33.8表4-6-1
参考CPU(Xeon)MPI 40プロセス(SSE) 17.1秒13.7表4-4-2
CPU : Intel Core i7-4770K 定格
GPU : NVIDIA GeForce GTX1070, 8GB GDDR5
CPU(Xeon) : Intel Xeon D-1541 (Linux)