Saltar a contenido

Dependencias obligatorias y opcionales

Esta página describe las bibliotecas necesarias para compilar FrontISTR y las bibliotecas opcionales que amplían su funcionalidad. Para obtener instrucciones sobre la instalación de cada biblioteca, consulte la documentación proporcionada por dicha biblioteca.

Dependencias obligatorias

Para compilar FrontISTR se requieren las siguientes herramientas y bibliotecas.

Biblioteca Requisito de versión Finalidad
CMake ≥ 3.13.4 Sistema de compilación
Compilador C/C++/Fortran Compilación del código fuente
MPI Biblioteca de comunicación paralela (OpenMPI, IntelMPI, etc.)

Dependencias opcionales

Las siguientes bibliotecas son opcionales y pueden habilitarse durante la compilación según la funcionalidad necesaria. Consulte Compilación con CMake para las opciones de CMake correspondientes.

Biblioteca Opción de CMake Finalidad Fuente
METIS (v4/v5) WITH_METIS Descomposición de dominios mediante particionamiento de grafos Karypis Lab
MUMPS + ScaLAPACK WITH_MUMPS Solver directo paralelo MUMPS-Solver.org / Netlib
Intel oneAPI MKL WITH_MKL Solver directo (PARDISO), BLAS/LAPACK Intel
OpenBLAS / LAPACK WITH_LAPACK Álgebra lineal numérica (estimación del número de condición) OpenBLAS.net / Netlib
Trilinos ML WITH_ML Precondicionamiento AMG Trilinos Project
REVOCAP_Refiner WITH_REFINER Refinamiento de malla Página de descarga de FrontISTR
REVOCAP_Coupler WITH_REVOCAP Análisis acoplado Página de descarga de FrontISTR
NetCDF WITH_NETCDF Salida en formato Exodus II Unidata
Doxygen WITH_DOC Generación de documentación de la API Doxygen.nl

Herramientas adicionales necesarias para compilaciones con GPU

La aceleración mediante GPU de FrontISTR se implementa con OpenACC, y la configuración cuyo funcionamiento está verificado actualmente utiliza NVIDIA HPC SDK. Además de las bibliotecas obligatorias indicadas anteriormente, para las compilaciones con GPU se requieren las siguientes herramientas.

Herramienta Finalidad Fuente
NVIDIA HPC SDK (nvc, nvc++, nvfortran) Compilación de offloading a GPU con OpenACC NVIDIA

Para obtener detalles sobre el procedimiento de compilación para GPU, incluido el tratamiento de bibliotecas no compatibles, consulte Compilación para GPU.