Translation update pending
The Portuguese translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.
Compilação com CMake¶
Esta página descreve o procedimento desde a obtenção do código-fonte do FrontISTR até à compilação e instalação. Para obter detalhes sobre as bibliotecas dependentes, consulte Dependências obrigatórias e opcionais.
Obter o código-fonte¶
O código-fonte do FrontISTR pode ser obtido a partir do GitLab ou do GitHub.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub (mirror)
git clone https://github.com/FrontISTR/FrontISTR.git
Procedimento de compilação¶
O FrontISTR pressupõe uma compilação fora da árvore de código-fonte (é proibido compilar diretamente na árvore de código-fonte). Crie um 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, pode ser executado diretamente como /path/to/FrontISTR/build/fistr1/fistr1. Para o instalar no caminho do sistema (CMAKE_INSTALL_PREFIX), execute adicionalmente o comando seguinte.
Opções do CMake¶
As opções cuja predefinição é indicada como "ON se detetado" são ativadas automaticamente quando a biblioteca correspondente é encontrada no sistema durante a execução de cmake. Podem ser desativadas explicitamente especificando -DWITH_XXX=OFF.
| Opção | Predefinição | Descrição |
|---|---|---|
WITH_MPI | ON | Ativa o paralelismo MPI |
WITH_OPENMP | ON se detetado | Ativa o paralelismo por threads OpenMP |
WITH_METIS | ON se detetado | Ativa o particionamento de malha utilizando METIS |
WITH_MUMPS | ON se detetado | Ativa o solver direto paralelo MUMPS |
WITH_MKL | ON se detetado | Ativa Intel MKL (incluindo PARDISO) |
WITH_LAPACK | ON se detetado | Ativa a estimativa do número de condição utilizando LAPACK |
WITH_ML | ON se detetado | Ativa o pré-condicionamento AMG utilizando Trilinos ML |
WITH_REFINER | ON se detetado | Ativa o refinamento da malha utilizando REVOCAP_Refiner |
WITH_REVOCAP | ON se detetado | Ativa a análise acoplada utilizando REVOCAP_Coupler |
WITH_TOOLS | ON | Compila as ferramentas incluídas |
WITH_DOC | OFF | Gera documentação da API com Doxygen |
WITH_NETCDF | ON se detetado | Ativa a saída Exodus II (NetCDF) |
WINDOWS | OFF | Ativa 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 | Ativa a verificação de fugas de memória (para GCC, -fsanitize=address) |
NVHPC_NO_ACC | OFF | Desativa o OpenACC ao utilizar os compiladores do NVIDIA HPC SDK e compila a versão para CPU |
Compilação DEBUG¶
Quando é especificado CMAKE_BUILD_TYPE=DEBUG, são adicionadas as seguintes opções de depuração específicas do compilador.
| Compilador | Opções 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 as seguintes opções.
| Opção | Descrição |
|---|---|
-acc | Ativa OpenACC |
-Minfo=accel | Apresenta informações sobre offloading para a GPU durante a compilação |
-gpu=ccnative,mem:managed | Deteta automaticamente a GPU no ambiente de compilação para determinar o destino e utiliza Unified Memory |
Quando -DNVHPC_NO_ACC=ON é especificado, estas opções não são adicionadas.
Para os procedimentos detalhados de compilação com GPU utilizando OpenACC, consulte Compilação com GPU.