일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- neuron
- openfoam
- 5호기
- 뉴론
- KISTI
- KNL
- 가우시안
- 슈퍼컴퓨팅교육
- 누리온
- ansys
- GPU
- HPC
- 슈퍼컴퓨팅
- 타키온2
- vasp
- SGE
- cuda
- Gaussian
- GROMACS
- G16
- 국가슈퍼컴퓨팅센터
- 슈퍼컴퓨터
- Linux
- abaqus
- skl
- nurion
- Kat
- TACHYON2
- 신바람
- sinbaram
- Today
- Total
KISTI 슈퍼컴퓨팅 기술 블로그
누리온 OpenFOAM-7 버전 설치 소개(KNL) 본문
KISTI 슈퍼컴퓨팅센터의 누리온 시스템에 OpenFOAM-v7 Source 버전으로 설치하는 과정을 정리하여 사용자들이 설치하는 방법에 대하여 참고할 수 있도록 내용을 소개한다.
1. 설치 환경
구분 | 내용 |
대상 시스템 | 누리온 |
OS Version | 리눅스 / CentOS 7.3 |
CPU | Intel(R) Xeon Phi(TM) CPU 7250 |
컴파일러 | Intel 2018.3 |
MPI | IntelMPI 2018.3 |
기타 |
2. 설치 전 환경 설정
OpenFOAM-v7 버전 설치에 필요한 gmp, mpfr, mpc, boost, CGAL은 누리온 시스템에 미리 설치된 /apps/commons 라이브러리들을 사용한다.
만약 다른 버전의 gmp, mpfr, mpc, boost, CGAL이 필요한 경우는 사용자의 홈 디렉터리(/home01/$USER)에 설치 후 환경 설정을 해서 사용하면 된다.
[ 환경 설정 ]
$ module load cmake/3.12.3 $ module load intel/18.0.3 impi/18.0.3 |
3. OpenFOAM-v7 버전 설치 과정
설치과정 | ||
$ cd /Install_Path/KNL $ tar xzvf OpenFOAM-7-20190902.tar.gz $ tar xzvf ThirdParty-7-version-7.tar.gz $ mv OpenFOAM-7-20190902/ OpenFOAM-7 $ mv ThirdParty-7-version-7/ ThirdParty-7 $ vi OpenFOAM-7/etc/config.sh/settings - - - [settings 수정 사항] 참고 - - - $ vi OpenFOAM-7/etc/bashrc - - - [bashrc 수정 사항] 참고 - - - $ vi ThirdParty-7/makeCGAL - - - [makeCGAL 수정 사항] 참고 - - - $ vi OpenFOAM-7/etc/config.sh/mpi - - - [mpi 수정 사항] 참고 - - - $ vi OpenFOAM-7/wmake/rules/linux64Icc/c++ - - - [c++ 수정 사항] 참고 - - - $ vi ThirdParty-7/scotch_6.0.6/src/Makefile.inc - - - [Makefile.inc 수정 사항] 참고 - - - $ sed -i -e 's/\(boost_version=\)boost-system/\1boost_1_68_0/' OpenFOAM-7/etc/config.sh/CGAL $ sed -i -e 's/\(cgal_version=\)cgal-system/\1CGAL-4.9.1/' OpenFOAM-7/etc/config.sh/CGAL $ source OpenFOAM-7/etc/bashrc $ mkdir -p $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER $ ln -s /apps/common/gmp/6.1.2 $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/gmp-system $ ln -s /apps/common/mpfr/4.0.1 $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/mpfr-system $ ln -s /apps/common/mpc/1.1.0 $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/mpc-system $ ln -s /apps/common/boost/1.68.0 $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/boost_1_68_0 $ ln -s /apps/common/CGAL/4.9.1 $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/CGAL-4.9.1 $ ln -s /apps/applications/cmake/3.12.3 $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/cmake-system $ cd ThirdParty-7 $ ./Allwmake $ cd $WM_PROJECT_DIR $ ./Allwmake |
[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 -xMIC-AVX512' export WM_CXXFLAGS='-m64 -fPIC -xMIC-AVX512 -std=c++0x' export WM_LDFLAGS='-m64' |
※ "-xMIC-AVX512" 옵션은 KNL 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/KNL export WM_COMPILER=Icc (I는 대문자 cc는 소문자) export WM_MPLIB=INTELMPI |
※ 위 수정 예제에서 /Install_Path/KNL 경로는 설치 시 사용된 경로이므로 변경 후 사용
[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 -xMIC-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 |
4. 테스트
$ module load intel/18.0.3 impi/18.0.3 $ source /Install_Path/KNL/OpenFOAM-7/etc/bashrc $ mkdir -p $FOAM_RUN $ run $ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily . $ cd pitzDaily $ blockMesh $ simpleFoam |
Intel 컴파일러를 이용하여 OpenFOAM 설치 시 KNL CPU 타입 전용 옵션인 "-xMIC-AVX512"를 사용하게 될 경우 KNL 계산노드에서 설치를 진행해야 오류가 발생되지 않는다.
"-xMIC-AVX512" 옵션을 사용할 경우 PBS 스케줄러의 Interactive 기능을 이용하여 KNL 계산노드로 접속하여 빌드를 진행해야 한다.
아래는 누리온 KNL 계산노드(debug 큐) 로 접속하는 예제이다.
$ qsub -I -V -q debug -l select=1:ncpus=68:mpiprocs=68:ompthreads=1 -l walltime=12:00:00 -A openfoam |
※ qsub 명령 뒤 문자는 I(대문자 아이) 이고, select 와 walltime 앞에 문자는 l(소문자 엘) 이다.
'SW 설치 문서 창고 > 누리온(NURION)' 카테고리의 다른 글
누리온 R-3.6.2 버전 설치 소개 (0) | 2020.04.10 |
---|---|
누리온 OpenFOAM-7 버전 설치 소개(SKL) (0) | 2019.10.25 |
누리온 CP2K-5.1.0 버전 설치 소개 (0) | 2019.07.23 |
누리온 OpenFOAM-5.x 버전 설치 소개(SKL) (0) | 2019.06.27 |
누리온 OpenFOAM-5.x 버전 설치 소개(KNL) (0) | 2019.06.27 |