Cray MPI Library

Version System A System B System C Notes
7.7.12 + Installed in March 2020
7.7.10 + Installed in October 2019
7.7.6 + (default) Installed in March 2019
7.7.3 + Installed in December 2018
7.7.0 + Installed in March 2018
7.6.3 + Installed in December 2017
7.6.0 + Installed in August 2017
7.5.3 + Installed in March 2017
7.5.0 + Installed in December 2016
7.4.2 + Installed in October 2016

+ : Available for use
― : Not available for use

Version Modulefile Name
7.7.12 cray-mpich/7.7.12
7.7.10 cray-mpich/7.7.10
7.7.6 cray-mpich/7.7.6
7.7.3 cray-mpich/7.7.3
7.7.0 cray-mpich/7.7.0
7.6.3 cray-mpich/7.6.3
7.6.0 cray-mpich/7.6.0
7.5.3 cray-mpich/7.5.3
7.5.0 cray-mpich/7.5.0
7.4.2 cray-mpich/7.4.2

Our Supercomputer supports the following compilers: Cray, Intel, PGI, and GNU. For each compiler’s settings, see each compiler’s page. You can check the current status of compiler settings by using the module command as shown below.

$ module list

You can use the Cray MPI Library when you log in to the System A. The default of the library’s version is shown in the listed above.

If you unloaded a module file, load the modulefile of the version you need by executing the module command as shown below. If the slash (/) and the version in the modulefile are omitted, the default version listed above will be set.

$ module load cray-mpich

If you want to switch between the versions of Cray MPI Library, execute the module command as shown below.

$ module switch cray-mpich/6.3.0 cray-mpich2/5.6.2

For details of the module command, see Modules.

The value for threading support level available in Cray MPI Library is MPI THREAD_SERIALIZED. It means that MPI functions can be called from each thread. However, note that the program MUST ensure only one thread makes MPI calls at a time.
By setting the following environment variables when executing a job, MPI_THREAD_MULTIPLE becomes available as the support level. It means that multiple threads may call with no restrictions. However, note that Cray MPI computing performance will be degraded.

(When using tcsh) setenv MPICH_MAX_THREAD_SAFETY multiple
(When using bath) export MPICH_MAX_THREAD_SAFETY=multiple

Compile commands

Language Command Operands
Fortran ftn ftn [sequence_of_options] sequence_of_files
C cc cc [sequence_of_options] sequence_of_files
C++ CC CC [sequence_of_options] sequence_of_files

Examples of Compiling

$ ftn -O3 sample_mpi.f90

To run a compiled MPI program, use the tssrun command in interactive mode and use the aprun command in batch mode. In both of interactive mode and batch mode, the number of parallels is specified as argument of the -A option, p. For details, see Examples.

Example(in interactive mode)

$ tssrun -A p=2 ./a.out

For more details of interactive mode, see Interactive Processing.

  • Running with 8-fold parallelization

    tssrun -A p=8 ./a.out
  • Running in combination with thread parallelization(MPI 4-fold parallelization, OpenMP 8-fold parallelization)

    tssrun -A p=4:t=8:c=8 ./a.out

For more details of batch mode, see Batch Processing (For System A and E). Examples below are for System A.

  • Running with 8-fold parallelization

    $ cat sample.sh
    #!/bin/bash
    #QSUB -q gr19999a
    #QSUB -ug gr19999
    #QSUB -W 5:00
    #QSUB -A p=8
    aprun -n $QSUB_PROCS ./a.out
  • Running in combination with thread parallelization(MPI 4-fold parallelization, OpenMP 8-fold parallelization)

    $ cat sample.sh
    #!/bin/bash
    #QSUB -q gr19999a
    #QSUB -ug gr19999
    #QSUB -W 5:00
    #QSUB -A p=4:t=8:c=8:m=4G
    #QSUB -o %J.out
    aprun -n $QSUB_PROCS -d $QSUB_CPUS -N $QSUB_PPN ./a.out

The release notes for cray-mpich 7.6 and later are not provided in book style. Please type $ module help cray-mpich/<version> to see the release note for each version.


Copyright © Academic Center for Computing and Media Studies, Kyoto University, All Rights Reserved.