Ir para o conteúdo

Dependências obrigatórias e opcionais

Esta página descreve as bibliotecas necessárias para compilar o FrontISTR e as bibliotecas opcionais que expandem as suas funcionalidades. Para os procedimentos de instalação de cada biblioteca, consulte a respetiva documentação.

Dependências obrigatórias

As ferramentas e bibliotecas seguintes são necessárias para compilar o FrontISTR.

Biblioteca Requisito de versão Finalidade
CMake ≥ 3.13.4 Sistema de compilação
Compilador C/C++/Fortran Compilação do código-fonte
MPI Biblioteca de comunicação paralela (OpenMPI, IntelMPI, etc.)

Dependências opcionais

As bibliotecas seguintes são opcionais e podem ser ativadas durante a compilação consoante as funcionalidades necessárias. Para as opções CMake correspondentes, consulte Procedimento de compilação com CMake.

Biblioteca Opção CMake Finalidade Fonte
METIS (v4/v5) WITH_METIS Decomposição de domínio por particionamento de grafos Karypis Lab
MUMPS + ScaLAPACK WITH_MUMPS Solver direto paralelo MUMPS-Solver.org / Netlib
Intel oneAPI MKL WITH_MKL Solver direto (PARDISO), BLAS/LAPACK Intel
OpenBLAS / LAPACK WITH_LAPACK Álgebra linear numérica (estimativa do número de condição) OpenBLAS.net / Netlib
Trilinos ML WITH_ML Precondicionamento AMG Trilinos Project
REVOCAP_Refiner WITH_REFINER Refinamento de malha Página de download do FrontISTR
REVOCAP_Coupler WITH_REVOCAP Análise acoplada Página de download do FrontISTR
NetCDF WITH_NETCDF Saída no formato Exodus II Unidata
Doxygen WITH_DOC Geração de documentação da API Doxygen.nl

Ferramentas adicionais necessárias para compilações com GPU

A aceleração por GPU do FrontISTR é implementada com OpenACC e, atualmente, foi verificado o funcionamento numa configuração que utiliza o NVIDIA HPC SDK. Além das bibliotecas obrigatórias acima indicadas, são necessárias as ferramentas seguintes para compilações com GPU.

Ferramenta Finalidade Fonte
NVIDIA HPC SDK (nvc, nvc++, nvfortran) Compilação de offloading para GPU com OpenACC NVIDIA

Para obter detalhes sobre o procedimento de compilação para GPU, incluindo o tratamento de bibliotecas não suportadas, consulte Compilação com GPU.