194 :
名無しさん@Emacs:
CPU : Pentium III,800MHz
問題: 姫野ベンチ
http://w3cic.riken.go.jp/HPC/HimenoBMT/ Fortran77、サイズS
結果:
FC Options MFLOPS
--
ifc -O0 58.5
ifc -O2 127.7
ifc -O3 127.3
ifc -O3 -tpp6 121.9
ifc -O3 -tpp6 -xi 123.5
ifc -O3 -tpp6 -xiM 124.4
ifc -O3 -tpp6 -xiMK 158.7
g77 -O0 42.2
g77 -O2 85.3
g77 -O3 85.2
g77 -O3 -funroll-loops 82.7
g77 -O3 -funroll-loops -ffast-math 83.0
g77 -O3 -march=i686 85.3
g77 -O3 -march=i686 -funroll-loops 86.4
g77 -O3 -march=i686 -funroll-loops -ffast-math 86.3
195 :
名無しさん@Emacs:02/06/10 21:05 ID:kJeoZmX6
Cバージョン
結果:
CC Options MFLOPS
--
icc -O0 63.2
icc -O2 154.1
icc -O3 154.2
icc -O3 -tpp6 154.0
icc -O3 -tpp6 -xi 153.9
icc -O3 -tpp6 -xiM 151.6
icc -O3 -tpp6 -xiMK 152.2
gcc -O0 43.8
gcc -O2 141.4
gcc -O3 142.5
gcc -O3 -funroll-loops 147.2
gcc -O3 -funroll-loops -ffast-math 147.1
gcc -O3 -march=i686 139.0
gcc -O3 -march=i686 -funroll-loops 143.4
gcc -O3 -march=i686 -funroll-loops -ffast-math 143.5
Cだとgccとあまり変らん……
196 :
login:Penguin:02/06/11 00:21 ID:/rWc+478
出来ればgccのバージョンも教えていただけませんか?
197 :
login:Penguin:02/06/11 01:21 ID:hFHia3qT
P4 2.2GHz C, SMALL, static gcc 2.96
gcc -DSMALL -O3 -funroll-loops 391
icc -DSMALL -O3 -tpp6 -xiMK 604
icc -DSMALL -O3 -tpp7 -xiMKW 493
という結果になりました。P4命令ありにすると遅くなります。
単精度浮動小数点の計算では、P4命令は有効でないようです。
ただし、P4はP3命令の実行が速いと思われます。
floatからdoubleにすると、P4最適化の方が5%ほど速くなりました。
doubleの計算はP4命令ありにしないとベクトル化されないことが
効いてきます。
結局、
数学関数多用 - P4最適化
単精度 - P3最適化
倍精度 - P4最適化
というガイドラインができるかもしれませんが、20%も結果が変わるんでは、
P3最適化とP4最適化、常に両方試して見る価値がありそうです。
198 :
195:02/06/11 03:41 ID:J030uHjr