プロジェクト

全般

プロフィール

機能 #21

CentOS 6上でIntelコンパイラによりOpenFOAMをビルドする

高橋 徹約5年前に追加. 2年以上前に更新.

ステータス:
却下
優先度:
通常
担当者:
カテゴリ:
-
対象バージョン:
開始日:
2014/11/30
期日:
進捗率:

100%

予定工数:

説明

OpenFOAMのソースコードをダウンロードし、Intelコンパイラでビルドする。
MPIについては、Intel MPIを使用する。

参考
http://www.softflow.jp/outpages/PDF/RHEL5_IntelC_IntelMPI_OF22.pdf
http://ofbkansai.sakura.ne.jp/data/OpenFOAM%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB.pdf

履歴

#1 高橋 徹約5年前に更新

ソースのダウンロード

http://www.openfoam.org/download/source.php
現時点の最新版は2.3.0でした。

ビルド試行1

ソースTARを展開します。いくつか設定ファイルを変更します。

~$ mkdir -p work/OpenFOAM
~$ cd work/OpenFOAM
OpenFOAM$ tar xzf ~/OpenFOAM-2.3.0.tgz
  :
OpenFOAM$

  • ~/work/OpenFOAM/OpenFOAM-2.3.0/etc/bashrcを編集
    @@ -63,7 +63,7 @@
    
     #- Compiler:
     #    WM_COMPILER = Gcc | Gcc45 | Gcc46 | Gcc47 | Clang | Icc (Intel icc)
    -export WM_COMPILER=Gcc
    +export WM_COMPILER=Icc
     unset WM_COMPILER_ARCH WM_COMPILER_LIB_ARCH
    
     #- Architecture:
    @@ -81,7 +81,7 @@
     #- MPI implementation:
     #    WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI
     #               | GAMMA | MPI | QSMPI | SGIMPI
    -export WM_MPLIB=OPENMPI
    +export WM_MPLIB=INTELMPI
    
     #- Operating System:
     #    WM_OSTYPE = POSIX | ???
    
  • ~/work/OpenFOAM/OpenFOAM-2.3.0/etc/config/settings.sh
    @@ -86,8 +86,8 @@
             64)
                 WM_ARCH=linux64
                 export WM_COMPILER_LIB_ARCH=64
    -            export WM_CC='gcc'
    -            export WM_CXX='g++'
    +            export WM_CC='icc'
    +            export WM_CXX='icpc++'
                 export WM_CFLAGS='-m64 -fPIC'
                 export WM_CXXFLAGS='-m64 -fPIC'
                 export WM_LDFLAGS='-m64'
    @@ -518,6 +518,7 @@
         ;;
    
     INTELMPI)
    +    MPI_ROOT=${I_MPI_ROOT}
         # no trailing slash
         [ "${MPI_ROOT%/}" = "${MPI_ROOT}" ] || MPI_ROOT="${MPI_ROOT%/}" 
    

ビルドを実行します。

  • インテルコンパイル環境の取り込み
    OpenFOAM-2.3.0$ . /opt/intel/bin/compilervars.sh intel64
    OpenFOAM-2.3.0$ . /opt/intel/impi/4.1.3/bin64/mpivars.sh intel64
    OpenFOAM-2.3.0$
    
  • OpenFOAM環境の取り込み
    OpenFOAM-2.3.0$ . ./etc/bashrc
    OpenFOAM-2.3.0$
    
  • bashrcの設定を変える場合、1度sourceした環境で再sourceしても反映されないので、新たなシェル環境を作ってsourceしてください

ビルドの実行

OpenFOAM-2.3.0$ ./Allwmake
icc   -O3 -no-prec-div   -fPIC dirToString.c -o /home/toru/work/OpenFOAM/OpenFOAM-2.3.0/wmake/platforms/linux64Icc/dirToString
flex wmkdep.l
icc   -O3 -no-prec-div   -fPIC lex.yy.c -o /home/toru/work/OpenFOAM/OpenFOAM-2.3.0/wmake/platforms/linux64Icc/wmkdep
icpc -std=c++0x  -wd327,525,654,819,1125,1476,1505,1572 -xHost -O2 -no-prec-div  -DNoRepository  -fPIC \
             wmkdepend.cpp wmkdependParser.cpp wmkdependScanner.cpp \
            -o /home/toru/work/OpenFOAM/OpenFOAM-2.3.0/wmake/platforms/linux64Icc/wmkdepend
no ThirdParty sources found - skipping
  :
SOURCE=matrices/lduMatrix/lduAddressing/lduInterfaceFields/lduInterfaceField/lduInterfaceField.C ;  icpc -std=c++0x -Dlinux64 -DWM_DP -wd327,525,654,819,1125,1476,1505,1572 -xHost -O2 -no-prec-div  -DNoRepository -IMake/linux64IccDPOpt -IlnInclude -I. -I/home/toru/work/OpenFOAM/OpenFOAM-2.3.0/src/OpenFOAM/lnInclude -I/home/toru/work/OpenFOAM/OpenFOAM-2.3.0/src/OSspecific/POSIX/lnInclude   -fPIC -c $SOURCE -o Make/linux64IccDPOpt/lduInterfaceField.o
  :
ビルドにおける試行錯誤
  • パッケージzlib-develがインストールされていない
    致命的なエラー: ソース ファイル "zlib.h"  を開けません。
      #include <zlib.h>
    
    • zlib-develパッケージをインストールする

#2 高橋 徹約5年前に更新

  • 説明 を更新 (diff)
  • ステータス新規 から 進行中 に変更
  • 進捗率0 から 50 に変更

#3 高橋 徹4年以上前に更新

  • 対象バージョンいつかやる にセット

#4 高橋 徹2年以上前に更新

  • ステータス進行中 から 却下 に変更
  • 進捗率50 から 100 に変更

他の形式にエクスポート: Atom PDF

クリップボードから画像を追加 (サイズの上限: 1 GB)