ページ

2016年5月6日金曜日

fortran 4倍精度で,計算速度はどの程度遅くなるか?

大学の環境で利用可能なコンパイラー
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)
PGI:5-10万くらい
absoft:6万-12万 
備考:intel compiler の非商用版(linuxのみ)は無償だったが,有償版だけになった模様.
学生に限りは無償使用のライセンスが在る模様.

0 件のコメント:

コメントを投稿