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