Может ли мое приложение быть совместимым с несколькими версиями MPI?
У меня есть приложение, которое использует MPI_COMM_WORLD. Я создаю приложение с помощью HPC Pack 2008 R2 MPI, и все отлично работает на моем локальном компьютере и на большинстве компьютеров.
Иногда при установке на другой ПК я сталкиваюсь с проблемами с конкурирующими версиями MPI (например, Intel). Обычно это решается добавлением моей версии HPC к PATH.
Недавно я столкнулся с проблемой, которую я не могу обойти.
Мой MPI находится первым в пути, но я получаю сообщение об ошибке "Невозможно найти библиотеку ссылок mkl_intel_thread.dll". Это говорит мне, что приложение смотрит на версию Intel.
где mpiexec mkl_thread не найден
Итак, мои общие вопросы:
- Существует ли версия MPI, совместимая со всеми остальными?
- Или есть способ скомпилировать мое приложение таким образом, чтобы я мог убедиться, что оно ищет нужную библиотеку MPI?
- Или есть способ компиляции, чтобы сделать приложение MPI независимым?
заранее спасибо
1 ответ
Преимущество MPI - это стандарт MPI. Это означает, что пока вы придерживаетесь определенной версии стандарта MPI, ваша программа должна быть совместима с реализациями, совместимыми со стандартом MPI.
Отсутствующая Math Kernel Library не имеет ничего общего с несовместимостью MPI.