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.
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 |
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.