Aller au contenu

Dépendances obligatoires et facultatives

Cette page décrit les bibliothèques nécessaires à la compilation de FrontISTR ainsi que les bibliothèques facultatives qui étendent ses fonctionnalités. Pour l'installation de chaque bibliothèque, consulter sa propre documentation.

Dépendances obligatoires

Les outils et bibliothèques suivants sont nécessaires pour compiler FrontISTR.

Bibliothèque Exigence de version Utilisation
CMake ≥ 3.13.4 Système de compilation
Compilateur C/C++/Fortran Compilation du code source
MPI Bibliothèque de communication parallèle (OpenMPI, IntelMPI, etc.)

Dépendances facultatives

Les bibliothèques suivantes sont facultatives et peuvent être activées lors de la compilation selon les fonctionnalités requises. Pour les options CMake correspondantes, consulter Compilation avec CMake.

Bibliothèque Option CMake Utilisation Source
METIS (v4/v5) WITH_METIS Décomposition de domaine par partitionnement de graphe Karypis Lab
MUMPS + ScaLAPACK WITH_MUMPS Solveur direct parallèle MUMPS-Solver.org / Netlib
Intel oneAPI MKL WITH_MKL Solveur direct (PARDISO), BLAS/LAPACK Intel
OpenBLAS / LAPACK WITH_LAPACK Algèbre linéaire numérique (estimation du nombre de condition) OpenBLAS.net / Netlib
Trilinos ML WITH_ML Préconditionnement AMG Trilinos Project
REVOCAP_Refiner WITH_REFINER Raffinement du maillage Page de téléchargement de FrontISTR
REVOCAP_Coupler WITH_REVOCAP Analyse couplée Page de téléchargement de FrontISTR
NetCDF WITH_NETCDF Sortie au format Exodus II Unidata
Doxygen WITH_DOC Génération de la documentation API Doxygen.nl

Outils supplémentaires requis pour les compilations GPU

L'accélération GPU de FrontISTR est implémentée avec OpenACC et, à ce jour, le fonctionnement a été vérifié avec une configuration utilisant NVIDIA HPC SDK. En plus des bibliothèques obligatoires ci-dessus, les outils suivants sont nécessaires pour une compilation GPU.

Outil Utilisation Source
NVIDIA HPC SDK (nvc, nvc++, nvfortran) Compilation du déport GPU OpenACC NVIDIA

Pour plus de détails sur la procédure de compilation pour GPU, y compris la gestion des bibliothèques non prises en charge, consulter Compilation avec un GPU.