必要與選用相依函式庫¶
說明建置 FrontISTR 所需的函式庫,以及用來擴充功能的選用函式庫。各函式庫的安裝程序請參閱各函式庫的文件。
必要相依函式庫¶
下列工具與函式庫是建置 FrontISTR 的必要項目。
| 函式庫 | 版本需求 | 用途 |
|---|---|---|
| CMake | ≥ 3.13.4 | 建置系統 |
| C/C++/Fortran 編譯器 | — | 編譯原始碼 |
| MPI | — | 平行通訊函式庫(OpenMPI、IntelMPI 等) |
選用相依函式庫¶
下列函式庫為選用項目,可依所需功能在建置時啟用。相應的 CMake 選項請參閱 使用 CMake 建置。
| 函式庫 | CMake 選項 | 用途 | 取得來源 |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS |
透過圖形分割進行域分解 | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS |
平行直接法求解器 | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL |
直接法求解器(PARDISO)、BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK |
數值線性代數(條件數估計) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML |
AMG 預處理 | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER |
網格細分 | FrontISTR 下載頁面 |
| REVOCAP_Coupler | WITH_REVOCAP |
耦合分析 | FrontISTR 下載頁面 |
| NetCDF | WITH_NETCDF |
以 Exodus II 格式輸出 | Unidata |
| Doxygen | WITH_DOC |
產生 API 文件 | Doxygen.nl |
GPU 建置所需的附加工具¶
FrontISTR 的 GPU 加速採用 OpenACC 實作,目前已驗證使用 NVIDIA HPC SDK 的組態可正常運作。GPU 建置除了上述必要函式庫外,還需要下列工具。
| 工具 | 用途 | 取得來源 |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) |
編譯 OpenACC GPU 卸載 | NVIDIA |
GPU 建置程序的詳細資訊(包括不支援函式庫的處理)請參閱使用 GPU 建置。