Message Passing Toolkit – Cray

The Computational tasks running in the HPC systems through Distributed memory or Shared Memory

Distributed Memory

The Single Computational task running in different nodes(CPU & Memory) commmunicates through message passing.The Cray Message Passing Toolkit (MPT) consists of two components.

  • MPI (Message-Passing Interface)

MPI (Message Passing Interface) is a standard specification for message passing libraries. It allows portable parallel programs in Fortran and C. MPI has become a de facto standard for communication among processes that create a parallel application running on a distributed memory system.

CRAY XC40 provides an implementation of the MPI-3.0 standard via the Cray Message Passing Toolkit (MPT), which is based on the MPICH 3 library and optimised for the Aries interconnect. The version of the MPT library is controlled by choosing a particular cray-mpich module. All users have the default cray-mpich module loaded when they connect to the system – for best performance we recommend using this default or later versions. A list of available versions can be found by using the module avail command.

  • module avail cray-mpich

Once a cray-mpich module is loaded, compiling with the standard compiler wrappers will automatically include and link to the MPI headers and libraries – you should not need to specify any more options on the command line.
On CRAY XC40 message passing implementation is optimized to take advantage of high speed Aries interconnect. All Programming Environments (PrgEnv-cray, PrgEnv-gnu and PrgEnv-intel) can utilize the MPI library that is implemented by Cray. Current release implements the MPI-3.0 standard.

  • module load cray-mpich
  • SHMEM (SHared MEMory)

To compile code that uses SHMEM you should load the cray-shmem module.

  • module load cray-shmem

Shared Memory

  • OpenMP 3.0


Getting Started on MPI IO

Report Problems to:
If you encounter any problem in using this software please report to SERC helpdesk at the email address or contact System Administrators in #103(SERC)