Salta el contingut

Compilació amb CMake

Aquesta pàgina descriu el procediment des de l'obtenció del codi font de FrontISTR fins a la compilació i la instal·lació. Per obtenir detalls sobre les biblioteques de dependència, consulteu Dependències obligatòries i opcionals.

Obtenció del codi font

El codi font de FrontISTR es pot obtenir de GitLab o GitHub.

# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git

# GitHub (mirror)
git clone https://github.com/FrontISTR/FrontISTR.git

Procediment de compilació

FrontISTR pressuposa una compilació fora de l'arbre de fonts (està prohibit compilar directament dins de l'arbre de fonts). Creeu un directori build i executeu cmake a dins.

cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)

Després de la compilació, es pot executar directament com /path/to/FrontISTR/build/fistr1/fistr1. Per instal·lar-lo al camí del sistema (CMAKE_INSTALL_PREFIX), executeu també l'ordre següent.

cmake --build . --target install

Opcions de CMake

Les opcions el valor per defecte de les quals figura com "ON si es detecta" s'habiliten automàticament quan es troba la biblioteca corresponent al sistema en executar cmake. Es poden deshabilitar explícitament especificant -DWITH_XXX=OFF.

Opció Valor per defecte Descripció
WITH_MPI ON Habilita el paral·lelisme MPI
WITH_OPENMP ON si es detecta Habilita el paral·lelisme per fils OpenMP
WITH_METIS ON si es detecta Habilita la descomposició de dominis mitjançant METIS
METIS_VER_4 OFF Utilitza METIS v4 (OFF utilitza v5)
WITH_MUMPS ON si es detecta Habilita el solucionador directe paral·lel MUMPS
WITH_MKL ON si es detecta Habilita Intel MKL (inclòs PARDISO)
WITH_LAPACK ON si es detecta Habilita l'estimació del nombre de condició mitjançant LAPACK
WITH_ML ON si es detecta Habilita el precondicionament AMG mitjançant Trilinos ML
WITH_REFINER ON si es detecta Habilita el refinament de malla mitjançant REVOCAP_Refiner
WITH_REVOCAP ON si es detecta Habilita l'anàlisi acoblada mitjançant REVOCAP_Coupler
WITH_TOOLS ON Compila les eines incloses
WITH_DOC OFF Genera documentació de l'API amb Doxygen
WITH_NETCDF ON si es detecta Habilita la sortida Exodus II (NetCDF)
WINDOWS OFF Habilita la compilació per a Windows
CMAKE_BUILD_TYPE RELEASE Tipus de compilació (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Directori d'instal·lació
DEBUG_EXTRA OFF Habilita la comprovació de fuites de memòria (per a GCC, -fsanitize=address)

Compilació DEBUG

Quan s'especifica CMAKE_BUILD_TYPE=DEBUG, s'afegeixen els indicadors de depuració següents, específics del compilador.

Compilador Indicadors addicionals
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Compilació amb GPU

Quan s'especifica NVIDIA HPC SDK (nvc/nvc++/nvfortran) com a compilador, CMake afegeix automàticament els indicadors següents.

Indicador Descripció
-acc Habilita OpenACC
-Minfo=accel Mostra informació sobre la descàrrega a GPU durant la compilació
-gpu=ccnative,mem:managed Detecta automàticament la GPU de l'entorn de compilació per determinar l'objectiu i utilitza memòria unificada

Per als procediments detallats de compilació amb GPU mitjançant OpenACC, consulteu Compilació amb GPU.

AI-assisted translation May contain errors Official docs Status