MPI settings not configured

When you first run an Linaro Forge product, the system.config file is created in your home directory under the .allinea folder. This file 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.

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 product can run applications using MPI.

[mpi]
auto detect = yes
type = openmpi

Solution

To permanently set the default MPI type, launch the Linaro Forge GUI from the command-line interface, and select an implementation from the list in MPI implementation in the Run dialog.

  1. Get a list of supported MPIs using --list-mpis:

    $ map --list-mpis
    
  2. Specify an MPI type 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.

    Setting the MPI implementation in the GUI

Solution

To change the MPI type, use the Linaro Forge GUI and set the MPI implementation in the Run dialog:

  1. Select an MPI implementation in the Run dialog.

  2. Click MPI ‣ Details ‣ Implementation: Change.

  3. Select an implementation from the menu in Options ‣ System Settings ‣ MPI/UPC implementation.

    Setting the MPI Implementation in System Settings

    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 can still encounter a problem using MPI in subsequent sessions.

Solution

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. Specify an MPI type for running your program using --mpi.

    $ 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.