Към съдържанието

Задължителни и незадължителни зависимости

Тази страница описва библиотеките, необходими за компилиране на 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 компилиране.

AI-assisted translation May contain errors Official docs Status