2012年7月24日火曜日

FX10はopenmpの性能が悪すぎる。

hybrid並列がされているあるプログラムをFX10とNehalemで比較。


FX10: frtpx -Kfast,openmp
Nehalem: ifort -O2 -fp-model precise
ifort v11.1.072


                 FX10   Nehalem 
 2mpi 8smp 7:48       2:26 
 4mpi 4smp 4:26       1:42
 8mpi 2smp 2:52       1:39
16mpi 1smp 1:46      1:47


上の時間は実実行時間(date; program; dateと実行させて上と下のdateの時間差)を示す。


Nehalem上だと同じprocess数使うと4smpまではNehalemだとほぼ同じ性能になる。このinputだと8smpだと粒度がやや足りなくなる。このprogramはopenmpの二重並列化がかなりよくできている。


FX10はNehalem/linuxと比べてopenmpの性能が悪すぎる。K-computerはmpi&openmpのhybrid並列が必須というがこんな性能で大丈夫だろうか。flat mpiのほうがよほど速く計算できるだろう。