Pustaka Dependensi Wajib dan Opsional¶
Halaman ini menjelaskan pustaka yang diperlukan untuk membangun FrontISTR dan pustaka opsional yang memperluas fungsinya. Untuk petunjuk instalasi masing-masing pustaka, lihat dokumentasi yang disediakan oleh pustaka tersebut.
Pustaka Dependensi Wajib¶
Alat dan pustaka berikut merupakan keharusan untuk membangun FrontISTR.
| Pustaka | Persyaratan versi | Tujuan |
|---|---|---|
| CMake | ≥ 3.13.4 | Sistem build |
| Compiler C/C++/Fortran | — | Kompilasi kode sumber |
| MPI | — | Pustaka komunikasi paralel (OpenMPI, IntelMPI, dan sebagainya) |
Pustaka Dependensi Opsional¶
Pustaka berikut bersifat opsional dan dapat diaktifkan saat build sesuai fungsi yang diperlukan. Untuk opsi CMake yang bersesuaian, lihat Prosedur Build dengan CMake.
| Pustaka | Opsi CMake | Tujuan | Sumber |
|---|---|---|---|
| METIS (v5) | WITH_METIS | Dekomposisi domain dengan partisi graf | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Solver langsung paralel | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Solver langsung (PARDISO), BLAS/LAPACK. Pada build MPI, BLACS yang sesuai dengan implementasi MPI juga di-link (→ Saat Menggunakan MKL pada Build MPI) | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Aljabar linier numerik (prapengkondisian SA-AMG, kompresi BLR pada DIRECTmf, estimasi bilangan kondisi) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | Prapengkondisian AMG | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Refinement mesh | Halaman unduh FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP | Analisis terkopel | Halaman unduh FrontISTR |
| NetCDF | WITH_NETCDF | Output dalam format Exodus II (→ Build dengan NetCDF) | Unidata |
| Doxygen | WITH_DOC | Pembuatan dokumentasi API | Doxygen.nl |
Alat Tambahan yang Diperlukan untuk Build GPU¶
Akselerasi GPU FrontISTR diimplementasikan menggunakan OpenACC, dan sejauh ini konfigurasi yang telah diverifikasi untuk beroperasi adalah yang menggunakan NVIDIA HPC SDK. Selain pustaka wajib yang tercantum di atas, build GPU memerlukan alat berikut.
| Alat | Tujuan | Sumber |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Kompilasi offload GPU OpenACC | NVIDIA |
| NVIDIA HPC-X | Pustaka komunikasi saat menggunakan GPU dengan paralelisme MPI (direkomendasikan) | NVIDIA |
Untuk rincian prosedur build untuk GPU (termasuk penanganan pustaka yang tidak didukung), lihat Build dengan GPU.
Alat Tambahan yang Diperlukan untuk Build untuk A64FX¶
Build yang menyertakan implementasi yang disesuaikan untuk A64FX memerlukan alat berikut, di samping pustaka wajib yang tercantum di atas.
| Alat | Tujuan | Sumber |
|---|---|---|
Compiler Fujitsu (mpifcc, mpiFCC, mpifrt) | Kompilasi untuk A64FX dan link pustaka matematika (SSL II) | Fujitsu |
Untuk rincian prosedur build untuk A64FX, lihat Build untuk A64FX.