OpenFOAM-7 버전 설치 소개(SKL)
슈퍼컴퓨팅인프라센터 2019. 10. 25. 15:12
KISTI 슈퍼컴퓨팅센터의 누리온 시스템에 OpenFOAM-v7 Source 버전으로 설치하는 과정을 정리하여 사용자들이 설치하는 방법에 대하여 참고할 수 있도록 내용을 소개한다.
가. 설치 환경
구분 | 내용 |
대상 시스템 | 누리온 |
OS Version | 리눅스 / CentOS 7.3 |
CPU | Intel(R) Xeon(R) Gold 6126 |
컴파일러 | Intel 2018.3 |
MPI | IntelMPI 2018.3 |
기타 |
나.설치 전 환경 설정
OpenFOAM-v7 버전 설치에 필요한 gmp, mpfr, mpc, boost, CGAL은 누리온 시스템에 미리 설치된 /apps/commons 라이브러리들을 사용한다. 만약 다른 버전의 gmp, mpfr, mpc, boost, CGAL이 필요한 경우는 사용자의 홈 디렉터리(/home01/$USER)에 설치 후 환경 설정을 해서 사용하면 된다.
[ 환경 설정 ]
다. OpenFOAM-v7 버전 설치 과정
설치 과정 소개는 tar 를 이용한 압축 해제 방법과 설정 방법등 진행 절차를 위주로 설명하고, 소스 파일 다운로드 등은 생략한다. 설치 소개 시 사용된 경로 /Install_Path/SKL는 설치 안내를 위한 경로이므로, 사용자는 실제 사용할 경로를 지정하여 설치하면 된다.
[설치과정]
[settings 수정 사항]
수정 전 | 64) WM_ARCH=linux64 export WM_COMPILER_LIB_ARCH=64 export WM_CC='gcc' export WM_CXX='g++' export WM_CFLAGS='-m64 -fPIC' export WM_CXXFLAGS='-m64 -fPIC -std=c++0x' export WM_LDFLAGS='-m64' |
수정 후 | 64) WM_ARCH=linux64 export WM_COMPILER_LIB_ARCH=64 export WM_CC='icc' export WM_CXX='icpc' export WM_CFLAGS='-m64 -fPIC -xCORE-AVX512' export WM_CXXFLAGS='-m64 -fPIC -xCORE-AVX512 -std=c++0x' export WM_LDFLAGS='-m64' |
※ "-xCORE-AVX512" 옵션은 SKL CPU 타입 전용 옵션으로, SKL 계산노드와 KNL 계산노드 모두 실행을 희망하는 경우는 "-xCOMMON-AVX512" 로 변경해서 사용
[bashrc 수정 사항]
수정 전 | [ "$BASH" -o "$ZSH_NAME" ] && export FOAM_INST_DIR=$(cd $(dirname $)/../.. && pwd -P) || export FOAM_INST_DIR=$HOME/$WM_PROJECT export WM_COMPILER=Gcc export WM_MPLIB=SYSTEMOPENMPI |
수정 후 | export FOAM_INST_DIR=/Install_Path/SKL export WM_COMPILER=Icc (I는 대문자 cc는 소문자) export WM_MPLIB=INTELMPI |
※ 위 수정 예제에서 **** /Install_Path/SKL 경로는 설치 시 사용된 경로이므로 변경 후 사용
[makeCGAL] 수정 사항]
수정 전 | cgalPACKAGE=${cgal_version:-CGAL-4.10} boostPACKAGE=${boost_version:-boost-system} |
수정 후 | cgalPACKAGE=${cgal_version:-CGAL-4.9.1} boostPACKAGE=${boost_version:-boost_1_68_0} |
[mpi 수정 사항]
수정 전 | libDir=`mpicc --showme:link | sed -e 's/.*-L\([^ ]*\).*/\1/'` |
---|---|
수정 후 | libDir=`mpiicc --showme:link | sed -e 's/.*-L\([^ ]*\).*/\1/'` |
[c++ 수정 사항]
수정 전 | CC = icpc -std=c++11 -fp-trap=common -fp-model precise |
---|---|
수정 후 | CC = icpc -std=c++11 -xCORE-AVX512 -fp-trap=common -fp-model precise |
[Makefile.inc 수정 사항]
수정 전 | AR = gcc ARFLAGS = $(WM_CFLAGS) -shared -o CCS = gcc CCP = mpicc CCD = mpicc CFLAGS = $(WM_CFLAGS) -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_RANDOM_FIXED_SEED - DSCOTCH_RENAME -Drestrict=__restrict CLIBFLAGS = -shared |
수정 후 | AR = icc ARFLAGS = -m64 -fPIC -shared -o CCS = icc CCP = mpiicc CCD = mpiicc CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Drestrict=__restrict -xCOMMON-AVX512 CLIBFLAGS = -shared -fPIC -xCOMMON-AVX512 |
라. 테스트
Last updated