Ir para o conteúdo

Translation update pending

The Brazilian Portuguese translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

Procedimento de compilação com CMake

Esta página descreve o procedimento desde a obtenção do código-fonte do FrontISTR até a compilação e a instalação. Para obter detalhes sobre as bibliotecas de dependência, consulte Dependências obrigatórias e opcionais.

Obtenção do código-fonte

O código-fonte do FrontISTR pode ser obtido no GitLab ou no GitHub.

# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git

# GitHub (espelho)
git clone https://github.com/FrontISTR/FrontISTR.git

Procedimento de compilação

O FrontISTR pressupõe uma compilação fora da árvore de fontes (é proibido compilar diretamente na árvore de fontes). Crie o diretório build e execute cmake dentro dele.

cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)

Após a compilação, ele pode ser executado diretamente como /path/to/FrontISTR/build/fistr1/fistr1. Para instalá-lo no caminho do sistema (CMAKE_INSTALL_PREFIX), execute adicionalmente o comando a seguir.

cmake --build . --target install

Lista de opções do CMake

As opções cujo padrão é indicado como “ON quando detectado” são habilitadas automaticamente quando a biblioteca correspondente é encontrada no sistema durante a execução do cmake. Elas podem ser desabilitadas explicitamente especificando -DWITH_XXX=OFF.

Opção Padrão Descrição
WITH_MPI ON Habilita o paralelismo MPI
WITH_OPENMP ON quando detectado Habilita o paralelismo por threads OpenMP
WITH_METIS ON quando detectado Habilita a decomposição de domínio usando METIS
WITH_MUMPS ON quando detectado Habilita o solver direto paralelo MUMPS
WITH_MKL ON quando detectado Habilita Intel MKL (incluindo PARDISO)
WITH_LAPACK ON quando detectado Habilita a estimativa do número de condição usando LAPACK
WITH_ML ON quando detectado Habilita o pré-condicionamento AMG usando Trilinos ML
WITH_REFINER ON quando detectado Habilita o refinamento de malha usando REVOCAP_Refiner
WITH_REVOCAP ON quando detectado Habilita a análise acoplada usando REVOCAP_Coupler
WITH_TOOLS ON Compila as ferramentas incluídas
WITH_DOC OFF Gera a documentação da API com Doxygen
WITH_NETCDF ON quando detectado Habilita a saída no formato Exodus II (NetCDF)
WINDOWS OFF Habilita a compilação para Windows
CMAKE_BUILD_TYPE RELEASE Tipo de compilação (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Diretório de instalação
DEBUG_EXTRA OFF Habilita a verificação de vazamento de memória (para GCC, -fsanitize=address)
NVHPC_NO_ACC OFF Desabilita o OpenACC ao usar os compiladores do NVIDIA HPC SDK e compila a versão para CPU

Compilação DEBUG

Quando CMAKE_BUILD_TYPE=DEBUG é especificado, os seguintes sinalizadores de depuração específicos do compilador são adicionados.

Compilador Sinalizadores adicionais
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Compilação com GPU

Quando NVIDIA HPC SDK (nvc/nvc++/nvfortran) é especificado como compilador, o CMake adiciona automaticamente os seguintes sinalizadores.

Sinalizador Descrição
-acc Habilita OpenACC
-Minfo=accel Exibe informações sobre o offload para GPU durante a compilação
-gpu=ccnative,mem:managed Detecta automaticamente a GPU no ambiente de compilação para determinar o destino e usa Unified Memory

Quando -DNVHPC_NO_ACC=ON é especificado, esses sinalizadores não são adicionados.

Para obter o procedimento detalhado de compilação para GPU com OpenACC, consulte Compilação com GPU.