Kihagyás

Translation update pending

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

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
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)
NVHPC_NO_ACC OFF Az NVIDIA HPC SDK fordítóinak használatakor letiltja az OpenACC-t, és a CPU-verziót fordítja le

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

Ha a -DNVHPC_NO_ACC=ON van megadva, ezek a kapcsolók nem kerülnek hozzáadásra.

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