- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a program that needs to be compiled with MPI parallelization, say I am using openmpi installed using intel compilers and this program depends on external libraries. Following the recommendation that dependencies and main programs should be compiled by the same compiler and same flags, do I then also need to compile the dependencies of my program using MPI wrappers even if their code is only serial or is it sufficient to use the underlying compiler of my openmpi (in this case the intel compilers)?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As MPI is a pure library, not a library and a set of compiler directives like OpenMP (no "I"), I would say that it is not necessary to recompile the external libraries, as long as they are compiled with the same compiler. What will be important is to use the same MPI environment, so in this case OpenMPI. Other MPI environments are not compatible, if I understand it correctly.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As MPI is a pure library, not a library and a set of compiler directives like OpenMP (no "I"), I would say that it is not necessary to recompile the external libraries, as long as they are compiled with the same compiler. What will be important is to use the same MPI environment, so in this case OpenMPI. Other MPI environments are not compatible, if I understand it correctly.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You mean, only openMPI is compatible with openMP? I thought openMP and openMPI are unrelated, they just happened to have similar name. This means that if I want to combine MPI and shared-memory parallelization using openMP, my only choice for the MPI implementation would be openMPI?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Excuse humour:
Brad Pitt and I have the opposite problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
External objects and libraries: as long as they make no MPI calls and are compiled with the same compiler major version: these do not have to be recompiled with the MPI wrappers.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
And be sure to link with the MPI driver, mpifort, to include the MPI libraries.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page