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