Translation update pending
The Korean translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.
CMake를 이용한 빌드 절차¶
이 페이지에서는 FrontISTR 소스 코드의 입수부터 빌드·설치까지의 절차를 설명한다. 의존 라이브러리의 자세한 내용은 필수·선택 의존 라이브러리를 참조한다.
소스 코드 입수¶
FrontISTR 소스 코드는 GitLab 또는 GitHub에서 입수할 수 있다.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub(미러)
git clone https://github.com/FrontISTR/FrontISTR.git
빌드 절차¶
FrontISTR는 아웃오브소스 빌드를 전제로 한다(소스 트리 바로 아래에서의 빌드는 금지되어 있다). build 디렉터리를 만들고 그 안에서 cmake를 실행한다.
cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)
빌드 후에는 /path/to/FrontISTR/build/fistr1/fistr1로 직접 실행할 수 있다. 시스템 경로(CMAKE_INSTALL_PREFIX)에 설치하는 경우에는 추가로 다음을 실행한다.
CMake 옵션 목록¶
「검출 시 ON」으로 기재된 옵션은 cmake 실행 시 시스템에서 해당 라이브러리가 발견되면 자동으로 활성화된다. 명시적으로 -DWITH_XXX=OFF를 지정하면 비활성화할 수 있다.
| 옵션 | 기본값 | 설명 |
|---|---|---|
WITH_MPI | ON | MPI 병렬을 활성화한다 |
WITH_OPENMP | 검출 시 ON | OpenMP 스레드 병렬을 활성화한다 |
WITH_METIS | 검출 시 ON | METIS에 의한 영역 분할을 활성화한다 |
WITH_MUMPS | 검출 시 ON | MUMPS 병렬 직접법 솔버를 활성화한다 |
WITH_MKL | 검출 시 ON | Intel MKL(PARDISO 포함)을 활성화한다 |
WITH_LAPACK | 검출 시 ON | LAPACK에 의한 조건수 추정을 활성화한다 |
WITH_ML | 검출 시 ON | Trilinos ML에 의한 AMG 전처리를 활성화한다 |
WITH_REFINER | 검출 시 ON | REVOCAP_Refiner에 의한 메시 세분화를 활성화한다 |
WITH_REVOCAP | 검출 시 ON | REVOCAP_Coupler에 의한 연성 해석을 활성화한다 |
WITH_TOOLS | ON | 부속 도구 모음을 빌드한다 |
WITH_DOC | OFF | Doxygen으로 API 문서를 생성한다 |
WITH_NETCDF | 검출 시 ON | Exodus II 형식 출력(NetCDF)을 활성화한다 |
WINDOWS | OFF | Windows용 빌드를 활성화한다 |
CMAKE_BUILD_TYPE | RELEASE | 빌드 유형(RELEASE / DEBUG) |
CMAKE_INSTALL_PREFIX | /usr/local | 설치 대상 디렉터리 |
DEBUG_EXTRA | OFF | 메모리 누수 검사를 활성화한다(GCC용, -fsanitize=address) |
NVHPC_NO_ACC | OFF | NVIDIA HPC SDK 컴파일러를 사용할 때 OpenACC를 비활성화하고 CPU 버전을 빌드한다 |
DEBUG 빌드¶
CMAKE_BUILD_TYPE=DEBUG를 지정하면 컴파일러별로 다음 디버그 플래그가 추가된다.
| 컴파일러 | 추가 플래그 |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
GPU를 사용한 빌드¶
NVIDIA HPC SDK(nvc/nvc++/nvfortran)를 컴파일러로 지정한 경우 CMake는 자동으로 다음 플래그를 추가한다.
| 플래그 | 설명 |
|---|---|
-acc | OpenACC를 활성화한다 |
-Minfo=accel | GPU 오프로딩 정보를 컴파일 시 표시한다 |
-gpu=ccnative,mem:managed | 빌드 환경의 GPU를 자동 검출하여 타깃을 결정하고 Unified Memory를 사용한다 |
-DNVHPC_NO_ACC=ON을 지정하면 이러한 플래그는 추가되지 않는다.
OpenACC를 이용한 GPU 빌드의 자세한 절차는 GPU를 사용한 빌드를 참조한다.