前回の続きで、今度は MPI を用いて並列化を行う(4倍精度のみ)。
C: 複数 プロセス 1 スレッド (MPI) & 1 ノード 1 プロセス
time mpiexec -machinefile ./hosts -n ?? ./test4 500000 2.0 -precision double (or) quad
○ 4倍精度
1 プロセス : real 1m44.611s
2 プロセス : real 0m51.462s
4 プロセス : real 0m24.775s
8 プロセス : real 0m11.519s
16 プロセス : real 0m5.615s
D: 複数 プロセス 1 スレッド (MPI) & 1 ノード 2 プロセス
time mpiexec -machinefile ./hosts2 -n ?? numactl --physcpubind=0,1 ./test4 500000 2.0 -precision double (or) quad
○ 4倍精度
2 プロセス : real 0m55.810s
4 プロセス : real 0m26.213s
8 プロセス : real 0m11.478s
16 プロセス : real 0m5.735s
32 プロセス : real 0m3.330s
E: 複数 プロセス 1 スレッド (MPI) & 1 ノード 4 プロセス
time mpiexec -machinefile ./hosts4 -n ?? numactl --physcpubind=0,2,1,3 ./test4 500000 2.0 -precision double (or) quad
○ 4倍精度
4 プロセス : real 0m35.390s
8 プロセス : real 0m13.410s
16 プロセス : real 0m6.069s
32 プロセス : real 0m3.566s
64 プロセス : real 0m2.992s
F: 複数 プロセス 1 スレッド (MPI) & 1 ノード 8 プロセス
time mpiexec -machinefile ./hosts8 -n ?? ./test4 500000 2.0 -precision double (or) quad
○ 4倍精度
8 プロセス : real 0m32.025s
16 プロセス : real 0m10.083s
32 プロセス : real 0m3.790s
64 プロセス : real 0m6.733s
128 プロセス : real 0m8.265s
C: 複数 プロセス 1 スレッド (MPI) & 1 ノード 1 プロセス
time mpiexec -machinefile ./hosts -n ?? ./test4 500000 2.0 -precision double (or) quad
○ 4倍精度
1 プロセス : real 1m44.611s
2 プロセス : real 0m51.462s
4 プロセス : real 0m24.775s
8 プロセス : real 0m11.519s
16 プロセス : real 0m5.615s
D: 複数 プロセス 1 スレッド (MPI) & 1 ノード 2 プロセス
time mpiexec -machinefile ./hosts2 -n ?? numactl --physcpubind=0,1 ./test4 500000 2.0 -precision double (or) quad
○ 4倍精度
2 プロセス : real 0m55.810s
4 プロセス : real 0m26.213s
8 プロセス : real 0m11.478s
16 プロセス : real 0m5.735s
32 プロセス : real 0m3.330s
E: 複数 プロセス 1 スレッド (MPI) & 1 ノード 4 プロセス
time mpiexec -machinefile ./hosts4 -n ?? numactl --physcpubind=0,2,1,3 ./test4 500000 2.0 -precision double (or) quad
○ 4倍精度
4 プロセス : real 0m35.390s
8 プロセス : real 0m13.410s
16 プロセス : real 0m6.069s
32 プロセス : real 0m3.566s
64 プロセス : real 0m2.992s
F: 複数 プロセス 1 スレッド (MPI) & 1 ノード 8 プロセス
time mpiexec -machinefile ./hosts8 -n ?? ./test4 500000 2.0 -precision double (or) quad
○ 4倍精度
8 プロセス : real 0m32.025s
16 プロセス : real 0m10.083s
32 プロセス : real 0m3.790s
64 プロセス : real 0m6.733s
128 プロセス : real 0m8.265s