Kihagyás

Fordítás CMake használatával

Ez az oldal a FrontISTR forráskódjának beszerzésétől a fordításon át a telepítésig terjedő eljárást ismerteti. A függőségi könyvtárak részleteiért lásd: Kötelező és opcionális függőségek.

A forráskód beszerzése

A FrontISTR forráskódja GitLabról vagy GitHubról szerezhető be.

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

# GitHub (tükör)
git clone https://github.com/FrontISTR/FrontISTR.git

Fordítási eljárás

A FrontISTR forrásfán kívüli fordítást feltételez (közvetlenül a forrásfában fordítani tilos). Hozzon létre egy build könyvtárat, majd azon belül futtassa a cmake parancsot.

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

A fordítás után a program közvetlenül futtatható a /path/to/FrontISTR/build/fistr1/fistr1 útvonalról. A rendszer elérési útjára (CMAKE_INSTALL_PREFIX) történő telepítéshez ezen felül futtassa az alábbi parancsot.

cmake --build . --target install

CMake-opciók

Azok az opciók, amelyek alapértelmezése „észlelés esetén ON”, automatikusan engedélyeződnek, ha a megfelelő könyvtár megtalálható a rendszeren a cmake futtatásakor. Kifejezetten letilthatók a -DWITH_XXX=OFF megadásával.

Opció Alapértelmezés Leírás
WITH_MPI ON Engedélyezi az MPI-párhuzamosítást
WITH_OPENMP észlelés esetén ON Engedélyezi az OpenMP szálpárhuzamosítást
WITH_METIS észlelés esetén ON Engedélyezi a METIS használatával végzett hálófelosztást
METIS_VER_4 OFF METIS v4 használata (OFF esetén v5)
WITH_MUMPS észlelés esetén ON Engedélyezi a MUMPS párhuzamos direkt megoldót
WITH_MKL észlelés esetén ON Engedélyezi az Intel MKL-t (a PARDISO-val együtt)
WITH_LAPACK észlelés esetén ON Engedélyezi a kondíciószám becslését LAPACK használatával
WITH_ML észlelés esetén ON Engedélyezi az AMG-előkondicionálást Trilinos ML használatával
WITH_REFINER észlelés esetén ON Engedélyezi a hálófinomítást REVOCAP_Refiner használatával
WITH_REVOCAP észlelés esetén ON Engedélyezi a csatolt analízist REVOCAP_Coupler használatával
WITH_TOOLS ON Lefordítja a mellékelt eszközöket
WITH_DOC OFF API-dokumentációt generál Doxygennel
WITH_NETCDF észlelés esetén ON Engedélyezi az Exodus II kimenetet (NetCDF)
WINDOWS OFF Engedélyezi a Windowsra történő fordítást
CMAKE_BUILD_TYPE RELEASE Fordítási típus (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Telepítési könyvtár
DEBUG_EXTRA OFF Engedélyezi a memóriaszivárgás ellenőrzését (GCC esetén -fsanitize=address)

DEBUG-fordítás

A CMAKE_BUILD_TYPE=DEBUG megadásakor az alábbi fordítófüggő hibakeresési jelzők kerülnek hozzáadásra.

Fordító További jelzők
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Fordítás GPU-val

Ha fordítóként az NVIDIA HPC SDK (nvc/nvc++/nvfortran) van megadva, a CMake automatikusan hozzáadja az alábbi jelzőket.

Jelző Leírás
-acc Engedélyezi az OpenACC-t
-Minfo=accel Fordításkor megjeleníti a GPU-ra történő kiszervezésre vonatkozó információkat
-gpu=ccnative,mem:managed Automatikusan észleli a fordítási környezet GPU-ját a cél meghatározásához, és Unified Memoryt használ

Az OpenACC-alapú GPU-s fordítás részletes eljárásáért lásd: Fordítás GPU-val.