MPI wrapper libraries
Unlike Linaro DDT, Linaro MAP wraps MPI calls in a custom shared library. A precompiled wrapper is copied that is compatible with your system, or one is built for your system each time you run Linaro MAP.
See Supported platforms for the list of supported MPIs.
You can also try setting FORGE_WRAPPER_COMPILE=1
and MPICC
directly:
$ MPICC=my-mpicc-command bin/map -n 16 ./wave_c
If you have problems, contact Forge Support for more information.
MPICH ABI Compatibility and MPI wrapper libraries
The MPICH ABI compatibility initiative is an understanding between various MPICH derived MPI implementations to maintain runtime compatibility between each other. Hence, an application can be compiled with one MPICH and executed with another.
For example, HPE Cray MPI provides a module file cray-mpich-abi
for running applications
built with compatible MPIs using HPE libraries installed on the system.
Linaro MAP will select a precompiled wrapper that is compatible with the loaded environment in this case.
However, if an appropriate compatible precompiled wrapper cannot be detected, Linaro MAP will build one for the system each time you run under Linaro MAP. The following options are available in this scenario.
Manually compile a MPI wrapper library specifically for the environment in which the application was originally built. Specify this library via the environment variable
FORGE_MPI_WRAPPER
when running Linaro MAP in the MPICH ABI compatible environment.Set
FORGE_WRAPPER_COMPILE
and setMPICC
to the MPI C Compiler that was used to compile the application, not the MPICH ABI compatible compiler.Set
FORGE_MPI_WRAPPER
to a precompiled wrapper shipped with Linaro MAP appropriate for your application. These wrappers can be found in the{<MAP-installation-directory>}/map/wrapper/precompiled
directory.
If you have problems, contact Forge Support for more information.