2016-08-20 2 views
1

Ich habe eine Anwendung, die MPI_COMM_WORLD verwendet. Ich baue die Anwendung mit HPC Pack 2008 R2 MPI und alles funktioniert gut auf meinem lokalen und den meisten PCs.Kann meine Anwendung mit mehreren Versionen von MPI kompatibel sein

Manchmal bei der Installation auf einem anderen PC werde ich auf Probleme mit konkurrierenden Versionen von MPI (z. B. Intel) stoßen. Dies wird normalerweise dadurch gelöst, dass meine HPC-Version dem PATH vorangestellt wird.

Ich habe kürzlich ein Problem, dass ich nicht umgehen kann.

Mein MPI ist zuerst im Pfad, aber ich bekomme einen Fehler "Link-Bibliothek mkl_intel_thread.dll" kann nicht gefunden werden. Das sagt mir, dass die App die Intel-Version anschaut.

where mpiexec mkl_thread not found

Also meine allgemeinen Fragen sind:

  1. Gibt es eine Version von MPI, die kompatibel mit allen anderen?
  2. Oder gibt es eine Möglichkeit, meine Anwendung so zu kompilieren, dass ich sicherstellen kann, dass es nach der richtigen MPI-Bibliothek sucht?
  3. Oder gibt es eine Möglichkeit zu kompilieren, um die Anwendung MPI Agnostik zu machen?

Vielen Dank im Voraus

+0

Es findet Intel Math Kernel Library (MKL) nicht, die keine Abhängigkeit von Intel MPI ist (eher, das Gegenteil ist wahr, abhängig davon, wie Sie die BLACS-Komponente verknüpfen). –

Antwort

0

Der Vorteil MPI die MPI standard ist. Das bedeutet, solange Sie sich an eine bestimmte Version des MPI-Standards halten, sollte Ihr Programm kompatibel mit MPI-Standard-kompatiblen Implementierungen sein.

Die fehlende Math Kernel Library hat nichts mit MPI-Inkompatibilität zu tun.

Verwandte Themen