You copied the Doc URL to your clipboard.

D MPI distribution notes

This appendix has brief notes on many of the MPI distributions supported by Arm Performance Reports.

Advice on settings and problems particular to a distribution are given here.

D.1 Bull MPI

Bull X-MPI is supported.

D.2 Cray MPT

Arm Performance Reports users may wish to read 4.1.3 Static linking on Cray X-Series Systems.

Arm Performance Reports has been tested with Cray XK7 and XC30 systems.

Arm Performance Reports requires Arm's sampling libraries to be linked with the application before running on this platform.

See 4.1.1 Linking for a set-by-step guide.

Arm supplies module files in REPORTS_INSTALLATION_PATH/share/modules/cray.

See 4.1.5 Dynamic and static linking on Cray X-Series systems using the modules environment to simplify linking with the sampling libraries.

Known Issues:

  • By default scripts wrapping Cray MPT will not be detected, but you can force the detection by setting the ALLINEA_DETECT_APRUN_VERSION environment variable to "yes" before starting Performance Reports.

D.3 Intel MPI

Arm Performance Reports has been tested with Intel MPI 4.1.x, 5.0.x and onwards.

Known Issue: If you use Spectrum LSF as workload manager in combination with Intel MPI and you get for example one of the following errors:

  • ¡target program¿ exited before it finished starting up. One or more processes were killed or died without warning
  • ¡target program¿ encountered an error before it initialised the MPI environment. Thread 0 terminated with signal SIGKILL

or the job is killed otherwise during launching then you may need to set/export I_MPI_LSF_USE_COLLECTIVE_LAUNCH=1 before executing Arm Performance Reports. See Using IntelMPI under LSF quick guide and Resolve the problem of the Intel MPI job …hang in the cluster for more details.


If you see the error undefined reference to MPI_Status_c2f during initialization or if manually building the sampling libraries as described in 4.1.1 Linking, then you need to rebuild MPICH 2 with Fortran support.


MPICH 3.0.3 and 3.0.4 do not work with Arm Performance Reports due to an MPICH bug. MPICH 3.1 addresses this and is supported.

D.6 Open MPI

Arm Performance Reports products have been tested with Open MPI 1.6.x, 1.8.x, 1.10.x and 2.0.x.

Open MPI 2.1.3 works with Arm Performance Reports. Previous versions of Open MPI 2.1.x do not work due to a bug in the Open MPI debug interface.

Known issue: If you are using the 1.6.x series of Open MPI configured with the --enable-orterun-prefix-by-default flag then Arm Performance Reports requires patch release 1.6.3 or later due to a defect in earlier versions of the 1.6.x series.

D.7 Platform MPI

Platform MPI 9.x is supported, but only with the mpirun command. Currently mpiexec is not supported.

D.8 SGI MPT / SGI Altix

SGI MPT 2.10+ is supported.

Some SGI systems can not compile programs on the batch nodes, for example because the gcc package is not installed.

If this applies to your system you must explicitly compile the Arm MPI wrapper library using the make-profiler-libraries command and then explicitly link your programs against the Arm profiler and sampler libraries.

The mpio.h header file shipped with SGI MPT 2.10 contains a mismatch between the declaration of MPI_File_set_view and some other similar functions and their PMPI equivalents, for example PMPI_File_set_view. This prevents Arm Performance Reports from generating the MPI wrapper library. Please contact SGI for a fix.

If you are using SGI MPT with SLURM and would normally use mpiexec_mpt to launch your program you will need to use srun --mpi=pmi2 directly.

Preloading the Arm profiler and MPI wrapper libraries is not supported in Express Launch mode. Arm recommends you explicitly link your programs against these libraries to work around this problem. If this is not possible you can manually compile the MPI wrapper, and explicitly set LD_PRELOAD in the launch line.


The use of the --export argument to srun (SLURM 14.11 or newer) is not supported. In this case you can avoid using --export by exporting the necessary environment variables before running Arm Performance Reports.

The use of the --task-prolog argument to srun (SLURM 14.03 or older) is also not supported, as the necessary libraries cannot be preloaded. You will either need to avoid using this argument, or explicitly link to the libraries.

Was this page helpful? Yes No