05 ‐ Compiladores e Implementações MPI - arcarneiro/teste-doc-sdumont GitHub Wiki

Compiladores disponíveis

Table of Contents

GNU GCC

Inclui os compiladores C/C++/GFortran

  • Versão 8.5.0 - Compilador padrão do Sistema Operacional. Não é necessário carregar módulo!
  • Outras versões (6.X, 7.X, 9.X etc) - Disponíveis através do module.
    • Para listar todas as versões disponíveis, executar o comando module avail gcc.
    • Para carregar o módulo, executar o comando module load gcc/<VERSAO>.
Início

Intel Parallel Studio XE

Inclui os compiladores C, C++ e Fortran, Integrated Performance Primitives (IPP), Math Kernel Library (MKL), Threading Building Blocks (TBB), Data Analytics Acceleration Library (DAAL), Intel Advisor, Intel VTune Profiler (formerly VTune Amplifier), Intel MPI Library, Intel Trace Analyzer and Collector e Intel Distribution for Python.

Necessário carregar o módulo ou configurar o ambiente!

  • Para listar todas as versões disponíveis, executar o comando module avail intel_psxe.
  • Para carregar o módulo, executar o comando module load intel_psxe/<VERSAO>.
  • Outra forma de configurar o Intel PSXE é através do comando source. Exemplo: source /petrobr/app_sequana/modulos2/intel-psxe-<VERSAO>.sh
OBS: Essa já é uma versão antiga dos compiladores Intel. Recomendamos utilizar através do Intel OneAPI (a seguir).

Início


Intel OneAPI

Conjunto de softwares da Intel que veio para substituir o Parallel Studio XE após a versão 2020.

Necessário carregar o módulo ou configurar o ambiente!

  • Versões disponíveis
    • 2022: module load intel-oneapi/2022_sequana
Início

MPI

As opções de MPI são OpenMPI, MPICH e o Intel MPI (baseado no MPICH e fornecido pelo Intel PSXE ou OneAPI). Para colocar os executáveis ( mpicc , mpif77 , etc) no path , execute um dos comandos abaixo.

OpenMPI

  • Utilizando compiladores GNU (gcc, g++, gfortran):  
*OBS*: É necessário carregar apenas o módulo da versão do OpenMPI desejada, pois esta já carrega as dependências necessárias
 module load openmpi/gnu/4.1.1_sequana

Para uma lista completa das versões do OpenMPI disponíveis:  

 module avail openmpi

MPICH

  • Listar as versões disponívies:
 module avail mpich
  • Carregar o módulo:
 module load mpich/<VERSAO>

Intel MPI

Disponível ao carregar um dos módulos informados em Parallel Studio XE ou OneAPI.

Para compilar uma aplicação com o Intel MPI e os compiladores Intel, é necessário utilizar os seguintes comandos:

  • mpiicc: Compilador C
  • mpiicpc: Compilador C++
  • mpiifort: Compilador Fortran
Os comandos padrão (mpicc, mpic++, mpif90, mpifort etc) utilizam os compiladores GNU (gcc, g++ e gfortran).

Exemplo, usando o Intel PSXE 2017:

#Carrega o módulo do Intel PSXE
$ module load intel_psxe/2017_sequana

#Verifica a versão do compilador C
$ icc --version
icc (ICC) 17.0.4 20170411
Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.

#Verifica a versão do compilador MPI C com icc
$ mpiicc --version
icc (ICC) 17.0.4 20170411
Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.

#Verifica a versão do compilador MPI C com GCC
$ mpicc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

#Verifica a versão do MPI da Intel
$ mpirun --version
Intel(R) MPI Library for Linux* OS, Version 2017 Update 3 Build 20170405 (id: 17193)
Copyright (C) 2003-2017, Intel Corporation. All rights reserved.

Exemplo, usando o Intel OneAPI 2022:

#Carrega o módulo do Intel PSXE
$ module load intel-oneapi/2022_sequana
 
$ icc --version
icc (ICC) 2021.5.0 20211109
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.
 
$ mpiicc --version
icc (ICC) 2021.5.0 20211109
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.
 
$ mpicc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ mpirun --version
Intel(R) MPI Library for Linux* OS, Version 2021.5 Build 20211102 (id: 9279b7d62)
Copyright 2003-2021, Intel Corporation.

Início


⚠️ **GitHub.com Fallback** ⚠️