gfortran, ifort (intel), xl fortran (IBM), PGI fortran (NVIDIA)で
倍精度から4倍精度にした際にどの程度計算速度が遅くなるか比較する.
なお pgi fortranでは4倍精度のプログラムがコンパイルできなかったので,
実際には残りの3つの比較.
計算内容は割り算と掛け算をひたすら繰り返しただけ.
最適化(オプション)なしの比較.
----------------------- 結果1 (intel cpu)--------------------------------------
gfortran quadruple/double ratio
real: 9.6 倍遅延
complex : 19倍遅延
ifort quadruple/double ratio
real: 16倍 遅延
complex: 28倍遅延
efficiency (gfortran calc. time/ ifort calc. time)
gfortran -> ifort
real: 5.988sec/4.963sec -> 1.2倍 高速化
complex 22sec/16sec ->1.3倍 高速化
(ifortの方がちょっとだけ早い)
--------------------------結果2 (ibm ワークステーション)------------------------
xlf90 quadruple/double ratio
real: 2.27倍遅延
complex: 5.83倍遅延
efficency (gfortran -> xlf90)
gfortran 4.7.3で4倍精度コンパイルできなかったので比較できず.
(4.6から対応だと思っていたが・・・)
pgf90 4倍精度コンパイルできず...
-----------------------------------------------------------------------------
上記比較はオプションなしの場合.
ifortは倍精度は2-3倍オプションなしで早くなるが,
4倍精度では思ったより実力を発揮しなかった.
恐らく4倍精度はソフトウェア上での実装なので,最適化があまり意味がないのかと思う.
ただし,ifortの場合do文を自動並列化ができるので強制的に並列化してやれば,最大でcpu(thread)数倍くらい早くならないこともない.
ibmのコンパイラーはibmのマシーンに特化してる気もする.
他にもNAGや富士通(販売終了),absoftがあるらしいが,使ったこと無い.
価格2016年5月時点
IBM: $3380
NAG: (63,000円) single user license
Intel: 10-30万くらい (Parallel Studio XE Composer Edition)
備考:intel compiler の非商用版(linuxのみ)は無償だったが,有償版だけになった模様.
学生に限りは無償使用のライセンスが在る模様.
学生に限りは無償使用のライセンスが在る模様.
0 件のコメント:
コメントを投稿