Перейти до змісту

Обов’язкові та необов’язкові залежності

Нижче описано бібліотеки, необхідні для збирання 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 NVIDIA

Докладну процедуру збирання для GPU, включно з роботою з непідтримуваними бібліотеками, див. у Збирання з підтримкою GPU.