Langkau tajuk talian

Prosedur binaan dengan CMake

Halaman ini menerangkan prosedur daripada mendapatkan kod sumber FrontISTR hingga membina dan memasangnya. Untuk butiran pustaka kebergantungan, lihat Pustaka kebergantungan wajib dan pilihan.

Mendapatkan kod sumber

Kod sumber FrontISTR boleh diperoleh daripada GitLab atau GitHub.

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

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

Prosedur binaan

FrontISTR mengandaikan binaan di luar sumber (binaan terus di bawah pepohon sumber tidak dibenarkan). Cipta direktori build dan jalankan cmake di dalamnya.

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

Selepas binaan, program boleh dijalankan terus sebagai /path/to/FrontISTR/build/fistr1/fistr1. Untuk memasang ke laluan sistem (CMAKE_INSTALL_PREFIX), jalankan arahan tambahan berikut.

cmake --build . --target install

Senarai pilihan CMake

Pilihan yang ditandakan "ON apabila dikesan" akan diaktifkan secara automatik jika pustaka berkenaan ditemui pada sistem ketika cmake dijalankan. Ia boleh dinyahaktifkan dengan menentukan -DWITH_XXX=OFF secara eksplisit.

Pilihan Lalai Penerangan
WITH_MPI ON Mengaktifkan pemprosesan selari MPI
WITH_OPENMP ON apabila dikesan Mengaktifkan pemprosesan selari berbenang OpenMP
WITH_METIS ON apabila dikesan Mengaktifkan penguraian domain dengan METIS
METIS_VER_4 OFF Menggunakan METIS v4 (OFF untuk v5)
WITH_MUMPS ON apabila dikesan Mengaktifkan solver kaedah langsung selari MUMPS
WITH_MKL ON apabila dikesan Mengaktifkan Intel MKL (termasuk PARDISO)
WITH_LAPACK ON apabila dikesan Mengaktifkan anggaran nombor keadaan dengan LAPACK
WITH_ML ON apabila dikesan Mengaktifkan prapengkondisian AMG dengan Trilinos ML
WITH_REFINER ON apabila dikesan Mengaktifkan pemurnian mesh dengan REVOCAP_Refiner
WITH_REVOCAP ON apabila dikesan Mengaktifkan analisis gandingan dengan REVOCAP_Coupler
WITH_TOOLS ON Membina set alat yang disertakan
WITH_DOC OFF Menjana dokumentasi API dengan Doxygen
WITH_NETCDF ON apabila dikesan Mengaktifkan output format Exodus II (NetCDF)
WINDOWS OFF Mengaktifkan binaan untuk Windows
CMAKE_BUILD_TYPE RELEASE Jenis binaan (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Direktori destinasi pemasangan
DEBUG_EXTRA OFF Mengaktifkan pemeriksaan kebocoran memori (untuk GCC, -fsanitize=address)

Binaan DEBUG

Apabila CMAKE_BUILD_TYPE=DEBUG ditentukan, bendera nyahpepijat berikut ditambah mengikut pengkompil.

Pengkompil Bendera tambahan
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Binaan menggunakan GPU

Apabila NVIDIA HPC SDK (nvc/nvc++/nvfortran) ditentukan sebagai pengkompil, CMake menambah bendera berikut secara automatik.

Bendera Penerangan
-acc Mengaktifkan OpenACC
-Minfo=accel Memaparkan maklumat offload GPU semasa pengkompilan
-gpu=ccnative,mem:managed Mengesan GPU dalam persekitaran binaan secara automatik untuk menentukan sasaran dan menggunakan Unified Memory

Untuk prosedur terperinci binaan GPU menggunakan OpenACC, lihat Binaan menggunakan GPU.