跳转至

必需及可选依赖库

下面说明构建 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 offload NVIDIA

有关 GPU 构建步骤的详细信息(包括不支持库的处理方式),请参见使用 GPU 构建