MPI not detected

When you run an Arm Forge product (Arm DDT, Arm MAP, and Arm Performance Reports), you are notified about a failure, depending on which product you are running and how you are running it, either offline using command-line instructions or using the Arm Forge user interface.

MPI settings not configured

The system.config file is created in your home directory under the .allinea folder when you first run an Arm Forge product and contains settings for enabling the product to auto detect the correct MPI implementation, and for specifying the default implementation. The failure to run MPI can arise if either of these settings are not configured.

[mpi]
auto detect = no
type = none

Solution

  • To permanently enable auto detect, and to specify a default MPI type, edit the system.config file MPI section in your home directory and ensure that your Arm Forge product can run applications using MPI.
    [mpi]
    auto detect = yes type = openmpi
  • To permanently set the default MPI type, launch the Arm Forge GUI from the command line interface, and set MPI implementation in the Options dialog.
    1. Get a list of supported MPIs using --list-mpis:
      map --list-mpis
    2. Specify an MPI type to use for running your program using --mpi.
      map --mpi=openmpi-compat -n 1 ./wave_c

      The GUI launches to display the MPI type you specified on the command line.
    3. MPI implementation is set


  • To change the MPI type, use the Arm Forge user interface.
    1. To select an MPI implementation, in the Run dialog click MPI > Details > Implementation: Change and select an implementation from the menu in Options dialog > System settings > MPI/UPI implementation.

      Note: This permanently modifies the MPI section in the system.config file with the MPI type you select, and persists for future sessions. However, if auto detect is not set to yes in system.config, you will still encounter a problem using MPI in subsequent sessions.

      Setting an MPI implementation 

  • To set the MPI type for the current session only, use the command line interface.
    1. Get a list of supported MPIs using --list-mpis.
      map --list-mpis
    2. Use --mpi in the command line to specify an MPI type to use for running your program.
    3. map --profile --mpi=openmpi -n 8 ./hello_c

      Note: This change persists only for the current session and does not modify the system.config file.

Related information