1

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

Harald
  • 3,110
  • 1
  • 24
  • 35
  • It fails to find Intel Math Kernel Library (MKL), which is not a dependency of Intel MPI (rather, the opposite is true, depending on how you link the BLACS component). – Hristo Iliev Aug 23 '16 at 07:56

1 Answers1

0

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.

zeroset
  • 55
  • 5