Задължителни и незадължителни зависимости¶
Тази страница описва библиотеките, необходими за компилиране на 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 компилиране¶
GPU ускорението на FrontISTR е реализирано чрез OpenACC, а конфигурацията, за която към момента е потвърдена работоспособност, използва NVIDIA HPC SDK. В допълнение към изброените по-горе задължителни библиотеки, за GPU компилиране са необходими следните инструменти.
| Инструмент | Предназначение | Източник |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Компилиране на OpenACC GPU offloading | NVIDIA |
За подробности относно процедурата за GPU компилиране, включително работата с неподдържани библиотеки, вижте GPU компилиране.