Joan zuzenean edukira

CMake bidez konpilatzea

Orrialde honetan FrontISTR-en iturburu-kodea eskuratzetik konpilatu eta instalatu arteko prozedura azaltzen da. Mendekotasun-liburutegiei buruzko xehetasunetarako, ikusi Nahitaezko eta aukerako mendekotasunak.

Iturburu-kodea eskuratzea

FrontISTR-en iturburu-kodea GitLab edo GitHub-etik lor daiteke.

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

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

Konpilazio-prozedura

FrontISTR-ek iturburu-zuhaitzetik kanpoko konpilazioa erabiltzen du (debekatuta dago zuzenean iturburu-zuhaitzaren barruan konpilatzea). Sortu build direktorioa eta exekutatu cmake bertan.

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

Konpilatu ondoren, zuzenean exekuta daiteke /path/to/FrontISTR/build/fistr1/fistr1 gisa. Sistemaren bidean (CMAKE_INSTALL_PREFIX) instalatzeko, exekutatu gainera honako komandoa.

cmake --build . --target install

CMake aukerak

Lehenetsi gisa "detektatuz gero ON" duten aukerak automatikoki gaitzen dira cmake exekutatzean dagokion liburutegia sisteman aurkitzen bada. Espresuki desgaitu daitezke -DWITH_XXX=OFF zehaztuz.

Aukera Lehenetsia Deskribapena
WITH_MPI ON MPI paralelismoa gaitzen du
WITH_OPENMP Detektatuz gero ON OpenMP harien paralelismoa gaitzen du
WITH_METIS Detektatuz gero ON METIS bidezko sarearen partizionamendua gaitzen du
METIS_VER_4 OFF METIS v4 erabiltzen du (OFF bada, v5)
WITH_MUMPS Detektatuz gero ON MUMPS ebazle zuzen paraleloa gaitzen du
WITH_MKL Detektatuz gero ON Intel MKL gaitzen du (PARDISO barne)
WITH_LAPACK Detektatuz gero ON LAPACK bidezko baldintza-zenbakiaren estimazioa gaitzen du
WITH_ML Detektatuz gero ON Trilinos ML bidezko AMG aurrebaldintzatzea gaitzen du
WITH_REFINER Detektatuz gero ON REVOCAP_Refiner bidezko sare-fintzea gaitzen du
WITH_REVOCAP Detektatuz gero ON REVOCAP_Coupler bidezko analisi akoplatua gaitzen du
WITH_TOOLS ON Paketeko tresnak konpilatzen ditu
WITH_DOC OFF Doxygen bidez API dokumentazioa sortzen du
WITH_NETCDF Detektatuz gero ON Exodus II formatuko irteera (NetCDF) gaitzen du
WINDOWS OFF Windows-erako konpilazioa gaitzen du
CMAKE_BUILD_TYPE RELEASE Konpilazio mota (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Instalazio-direktorioa
DEBUG_EXTRA OFF Memoria-ihesak egiaztatzea gaitzen du (GCC-rako, -fsanitize=address)

DEBUG konpilazioa

CMAKE_BUILD_TYPE=DEBUG zehazten denean, konpiladorearen araberako honako arazketa-bandera hauek gehitzen dira.

Konpiladorea Bandera gehigarriak
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

GPUarekin konpilatzea

NVIDIA HPC SDK (nvc/nvc++/nvfortran) konpiladore gisa zehazten denean, CMake-k automatikoki honako banderak gehitzen ditu.

Bandera Deskribapena
-acc OpenACC gaitzen du
-Minfo=accel GPU offload-ari buruzko informazioa konpilazioan bistaratzen du
-gpu=ccnative,mem:managed Konpilazio-inguruneko GPUa automatikoki detektatu, helburua zehaztu eta Unified Memory erabiltzen du

OpenACC bidezko GPU konpilazio-prozedura zehatzetarako, ikusi GPUarekin konpilatzea.