Может ли мое приложение быть совместимым с несколькими версиями MPI?

У меня есть приложение, которое использует MPI_COMM_WORLD. Я создаю приложение с помощью HPC Pack 2008 R2 MPI, и все отлично работает на моем локальном компьютере и на большинстве компьютеров.

Иногда при установке на другой ПК я сталкиваюсь с проблемами с конкурирующими версиями MPI (например, Intel). Обычно это решается добавлением моей версии HPC к PATH.

Недавно я столкнулся с проблемой, которую я не могу обойти.

Мой MPI находится первым в пути, но я получаю сообщение об ошибке "Невозможно найти библиотеку ссылок mkl_intel_thread.dll". Это говорит мне, что приложение смотрит на версию Intel.

где mpiexec mkl_thread не найден

Итак, мои общие вопросы:

  1. Существует ли версия MPI, совместимая со всеми остальными?
  2. Или есть способ скомпилировать мое приложение таким образом, чтобы я мог убедиться, что оно ищет нужную библиотеку MPI?
  3. Или есть способ компиляции, чтобы сделать приложение MPI независимым?

заранее спасибо

1 ответ

Преимущество MPI - это стандарт MPI. Это означает, что пока вы придерживаетесь определенной версии стандарта MPI, ваша программа должна быть совместима с реализациями, совместимыми со стандартом MPI.

Отсутствующая Math Kernel Library не имеет ничего общего с несовместимостью MPI.

Другие вопросы по тегам