Hyppää sisältöön

Kääntäminen CMake-ohjelmalla

Tällä sivulla kuvataan menettely FrontISTR:n lähdekoodin hankkimisesta kääntämiseen ja asennukseen. Riippuvuuskirjastojen tiedot ovat kohdassa Pakolliset ja valinnaiset riippuvuudet.

Lähdekoodin hankkiminen

FrontISTR:n lähdekoodin voi hankkia GitLabista tai GitHubista.

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

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

Kääntämismenettely

FrontISTR edellyttää lähdepuun ulkopuolista käännöstä (kääntäminen suoraan lähdepuussa on kielletty). Luo build-hakemisto ja suorita cmake siinä.

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

Käännöksen jälkeen ohjelma voidaan suorittaa suoraan polusta /path/to/FrontISTR/build/fistr1/fistr1. Jos haluat asentaa sen järjestelmän polkuun (CMAKE_INSTALL_PREFIX), suorita lisäksi seuraava komento.

cmake --build . --target install

CMake-valinnat

Valinnat, joiden oletusarvoksi on merkitty "ON jos havaittu", otetaan automaattisesti käyttöön, kun vastaava kirjasto löytyy järjestelmästä cmake-komennon suorituksen aikana. Ne voidaan poistaa nimenomaisesti käytöstä määrittämällä -DWITH_XXX=OFF.

Valinta Oletus Kuvaus
WITH_MPI ON Ottaa MPI-rinnakkaisuuden käyttöön
WITH_OPENMP ON jos havaittu Ottaa OpenMP-säierinnakkaisuuden käyttöön
WITH_METIS ON jos havaittu Ottaa käyttöön METIS-pohjaisen aluejaon
METIS_VER_4 OFF Käyttää METIS v4:ää (OFF käyttää v5:tä)
WITH_MUMPS ON jos havaittu Ottaa käyttöön MUMPS-rinnakkaisen suoran ratkaisijan
WITH_MKL ON jos havaittu Ottaa Intel MKL:n käyttöön (PARDISO mukaan lukien)
WITH_LAPACK ON jos havaittu Ottaa käyttöön ehtoluvun arvioinnin LAPACKilla
WITH_ML ON jos havaittu Ottaa käyttöön Trilinos ML -pohjaisen AMG-esikonditionoinnin
WITH_REFINER ON jos havaittu Ottaa käyttöön verkon hienonnuksen REVOCAP_Refiner-ohjelmalla
WITH_REVOCAP ON jos havaittu Ottaa käyttöön kytketyn analyysin REVOCAP_Coupler-ohjelmalla
WITH_TOOLS ON Kääntää mukana toimitettavat työkalut
WITH_DOC OFF Luo API-dokumentaation Doxygenilla
WITH_NETCDF ON jos havaittu Ottaa käyttöön Exodus II -tulostuksen (NetCDF)
WINDOWS OFF Ottaa Windows-käännöksen käyttöön
CMAKE_BUILD_TYPE RELEASE Käännöstyyppi (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Asennushakemisto
DEBUG_EXTRA OFF Ottaa muistivuotojen tarkistuksen käyttöön (GCC:llä -fsanitize=address)

DEBUG-käännös

Kun CMAKE_BUILD_TYPE=DEBUG määritetään, lisätään seuraavat kääntäjäkohtaiset debug-valinnat.

Kääntäjä Lisävalinnat
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Kääntäminen GPU:lle

Kun kääntäjäksi määritetään NVIDIA HPC SDK (nvc/nvc++/nvfortran), CMake lisää automaattisesti seuraavat valinnat.

Valinta Kuvaus
-acc Ottaa OpenACC:n käyttöön
-Minfo=accel Näyttää käännösaikana tietoja GPU-offloadista
-gpu=ccnative,mem:managed Tunnistaa automaattisesti käännösympäristön GPU:n kohteen määrittämiseksi ja käyttää Unified Memory -muistia

OpenACC-pohjaisen GPU-käännöksen yksityiskohtaiset menettelyt ovat kohdassa Kääntäminen GPU:lle.

AI-assisted translation May contain errors Official docs Status