Hyppää sisältöön

Translation update pending

The Finnish translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

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 verkon osioinnin
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)
NVHPC_NO_ACC OFF Poistaa OpenACC:n käytöstä NVIDIA HPC SDK -kääntäjiä käytettäessä ja rakentaa CPU-version

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-tuella

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

Jos -DNVHPC_NO_ACC=ON määritetään, näitä lippuja ei lisätä.

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