Các 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 quy trình 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. Đối với các tùy chọn CMake tương ứng, hãy xem Quy trình biên dịch bằng CMake.
| Thư viện | Tùy chọn CMake | Mục đích | Nguồn |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS |
Phân chia 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 FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP |
Phân tích liên hợp | Trang tải FrontISTR |
| NetCDF | WITH_NETCDF |
Xuất dữ liệu ở đị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 biên dịch GPU¶
Khả năng sử dụng 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, việc biên dịch cho 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 mã chuyển tải OpenACC sang GPU | 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 với GPU.