2010年12月12日日曜日

メモ::ICC for MrBayes & RAxML

ICCを使ってMrBayes及びRAxMLをコンパイルする時のオプション。

MrBayes3.1.2,RAxML7.2.6を使って

単一スレッドバージョンの場合(RAxMLはraxmlHPC-SSE3-gcc)

Makefile内のCC=gccをCC=iccに
さらにCFLAGS(OPTFLAGS)に以下のオプションを記述する。

-O2 = 最適化オプション(最適化をやりすぎると精度が落ちるので注意)
-mp1 = 精度を優先させ、IEEE754規格に則った浮動小数点演算コードを生成。
-ip = 1つのソースファイルにあるプロシージャ間の解析、最適化を行う。
-ipo = 複数のソースファイルにあるプロシージャ間の解析、最適化を行う。
-xHost = コンパイルを実行したプロセッサのみに最適化(Core i7なら-xSSE4.2とかでもいいかも)


とりあえずこんなとこ

並列処理バージョン(raxmlHPC-HYBLID-SSE3)では

CC=の記述を変え、CFLAGSの記述には-O2,-xHostを加える。その他のオプションを加えるとコンパイルはきちんと動かなくなった。原因はよく分からない。CFLAGSでの記述はMakefileではなくコマンドオプションでOMPI_CFLAGSで加えてもいいみたい。

その上で、makeのときOMPI_CC=iccのオプションを加える。

0 件のコメント: