The Computational tasks running in the HPC systems through Distributed memory or Shared 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) 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.
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.
To compile code that uses SHMEM you should load the cray-shmem module.