Thư viện phụ thuộc bắt buộc và tùy chọn¶
Trang này mô tả các thư viện cần thiết để biên dịch FrontISTR và các thư viện tùy chọn dùng để mở rộng chức năng. Đối với cách cài đặt từng thư viện, hãy tham khảo tài liệu của chính thư viện đó.
Thư viện phụ thuộc bắt buộc¶
Các công cụ và thư viện sau là bắt buộc để biên dịch FrontISTR.
| Thư viện | Yêu cầu phiên bản | Mục đích |
|---|---|---|
| CMake | ≥ 3.13.4 | Hệ thống biên dịch |
| Trình biên dịch C/C++/Fortran | — | Biên dịch mã nguồn |
| MPI | — | Thư viện truyền thông song song (OpenMPI, IntelMPI, v.v.) |
Thư viện phụ thuộc tùy chọn¶
Các thư viện sau là tùy chọn và có thể được bật khi biên dịch tùy theo chức năng cần sử dụng. Xem Quy trình biên dịch bằng CMake để biết các tùy chọn CMake tương ứng.
| Thư viện | Tùy chọn CMake | Mục đích | Nguồn |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS | Phân hoạch miền bằng phân hoạch đồ thị | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Bộ giải trực tiếp song song | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Bộ giải trực tiếp (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Đại số tuyến tính số (ước lượng số điều kiện) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | Tiền điều kiện AMG | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Tinh chỉnh lưới | Trang tải xuống FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP | Phân tích liên hợp | Trang tải xuống FrontISTR |
| NetCDF | WITH_NETCDF | Xuất theo định dạng Exodus II | Unidata |
| Doxygen | WITH_DOC | Tạo tài liệu API | Doxygen.nl |
Công cụ bổ sung cần thiết cho bản biên dịch GPU¶
Khả năng tăng tốc GPU của FrontISTR được triển khai bằng OpenACC, và hiện tại đã được xác nhận hoạt động với cấu hình sử dụng NVIDIA HPC SDK. Ngoài các thư viện bắt buộc nêu trên, bản biên dịch GPU cần các công cụ sau.
| Công cụ | Mục đích | Nguồn |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Biên dịch phần offload GPU bằng OpenACC | NVIDIA |
Để biết chi tiết về quy trình biên dịch cho GPU, bao gồm cách xử lý các thư viện không được hỗ trợ, hãy xem Biên dịch bằng GPU.