Using Custom MPI Implementations

If you want to use an MPI library which is not ABI-compatible, but whose mpiexec takes the same command line arguments as one of the supported MPI implementations, you can leverage the MPItrampoline / MPIwrapper tandem which is used by Simcenter STAR-CCM+.

Both of these packages are open-source and publicly available software libraries. MPItrampoline provides a forwarding MPI implementation relaying all MPI calls to MPIwrapper, which is a thin wrapper library around concrete MPI implementations.

To use a custom MPI implementation which meets the conditions mentioned above, you need to:

  1. Build MPIwrapper against your custom MPI implementation.
  2. Before running Simcenter STAR-CCM+, set the MPITRAMPOLINE_LIB environment variable to point to the compiled MPIwrapper shared library.
  3. On the Simcenter STAR-CCM+ command line, set the MPI option ("-mpi ...") to the supported MPI implementation that takes the same mpiexec arguments.