Обязательные и необязательные зависимости¶
На этой странице описаны библиотеки, необходимые для сборки 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.