研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

Intel コンパイラ -xHost オプション

2013-01-29 10:13:42 | Weblog

こちらで取り扱っている実験を Graph500 についても行ってみた。
どうせなので ICC の -xHost オプションだけではなく、GCC or ICC と -Ox の最適化の組合せを色々試してみることにした。

この実装でも -xHost の効果は大きいものの、上位を gcc が占めることになった。
メモリアクセスの流れを整える等のある程度汎用的な高速化を行った実装では icc < gcc といえるだろう。

また、gcc では最適化レベル毎に生成されるバイナリサイズが大きくなるのに対して、
icc では O1 が最も小さい(しかも median TEPS が高い)という結果になっており、少々予想しづらく感じる。




"compiler"    "median TEPS"          MB
"icc -O0"             5.245      1.8503
"icc -O1"             9.987      1.7305
"icc -O2"             9.977      1.8545
"icc -O3"             9.850      1.8552
"icc -xhost"         10.072      1.8084
"gcc -O0"             6.164      1.6580
"gcc -O1"            10.738      1.8706
"gcc -O2"            10.887      1.8792
"gcc -O3"            10.834      1.9028



◯ 計算サーバ: Intel Xeon SandyBridge-EP (64 HT-cores)
CPU : Intel Xeon E5-4640 (8-core 2.40GHz, 16MB cache, TDP:95w) x 4
Memory : 512GB ACTICA製HPC専用メモリ DDR3 1600Mhz (16GB x 32枚) x 32
OS : CentOS 6.3


最新の画像もっと見る

コメントを投稿