MPICH

Overview

This is a porting of MPICH to the "K" computer.
MPICH is one of the two major open source MPI implementations.
And it is fully compliant with the latest 3.1 MPI standard.

How to use the MPICH library

Install Path ("K" login node and computation nodes both)

MPICH_HOME=/opt/aics/mpich/mpich-3.1.4

Compilation

Cross Compiler: ${MPICH_HOME}/bin on "K" login node

mpicc (instead of fujitsu mpifccpx)
mpif90 (instead of fujitsu mpifrtpx)
mpicxx (instead of fujitsu mpiFCCpx)

Native Compiler: ${MPICH_HOME}/bin on "K" computation nodes;

PLANED BUT CURRENTLY NOT SUPPORTED)

mpicc (instead of fujitsu mpifcc)
mpif90 (instead of fujitsu mpifrt)
mpicxx (instead of fujitsu mpiFCC)

Execution:

${MPICH_HOME}/bin on "K" computation node

mpichexec (instead of fujitsu mpiexec)

You can use basic options as same as Fujitsu "mpiexec" such as file staging, etc.
However, Open MPI specific options (e.g. -mca option) is not supported.

Restrictions

  • [unsupported] Dynamic Process Creation
    • MPI_Comm_spawn, MPI_Comm_connect, MPI_Comm_accept, ...
  • [unsupported] MPI-IO FEFS (romio/adio)
  • [unsupported] Fujitsu Extension "FJRDMA_" API
  • [unsupported] Fujitsu MPI Collective Optimizations