user3142476
user3142476

Reputation: 11

Can my application be compatible with multiple versions of MPI

I have an application that uses MPI_COMM_WORLD. I'm building the application with HPC Pack 2008 R2 MPI and everything works fine on my local and most PCs.

Occasionally when installing on a different PC I will run into issues with competing versions of MPI (e.g. Intel). This is usually solved by prepending my HPC version to the PATH.

I have recently hit an issue that I can't work around.

My MPI is first in the path, but I'm getting an error "link library mkl_intel_thread.dll" cannot be found. This tells me the app is looking at the Intel version.

where mpiexec mkl_thread not found

So my general questions are:

  1. Is there a version of MPI that is compatibly with all others?
  2. Or is there a way to compile my application in a way that I can ensure it looks for the right MPI library?
  3. Or is there a way to compile to make the application MPI agnostic?

Thanks in advance

Upvotes: 1

Views: 317

Answers (1)

zeroset
zeroset

Reputation: 55

The advantage of MPI is the MPI standard. This means as long as you stick to a certain version of the MPI standard, your programm should be compatible with MPI standard compliant implementations.

The missing Math Kernel Library has nothing to do with MPI incompatibility.

Upvotes: 0

Related Questions