研究日誌。

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

gcc と icc。

2008-02-16 03:46:28 | Weblog
コンパイラとそのオプションを見直した。そろそろこのクエリ(p2p を10クエリ)では実験がしずらくなってきた。クエリをスレッド並列しているため、10クエリでは8並列するメリットが半減してしまう。次からはもう少し大きいもので実験してみようと思う。

前回まで基本的には「gcc -O2 -march=nocona」で行っていたのだが、そろそろ見直すころかなと思い、いくつかのパターンについて実行時間を測定してみた。なお、gcc は 4.1.2 を、 icc は 10.1 を用いている。

結果として、最適化オプションは 「-O2」 で十分であることがわかる。また、思ったより gcc も icc も大差はないことがわかり、頻繁に扱っているバケット法では gcc の方が良い結果となった。64bit にすると若干速度が低下してしまう事がわかった。さまざまな要因によって、起きていると思われるので、1つ1つ対応を付けられるように調べていきたい。