mpiexec, без копирования DLL

В моем тесте Windows я заинтересован в запуске MPI с локальным хостом без накладных расходов на копирование DLL. Я бы предпочел использовать PATH, определенный в вызывающей среде. Мне не удалось сделать это на mpiexec, который я вызывал, даже если передать «-envlist PATH» в mpiexec.

Основная проблема заключается в том, что когда я вызываю свой скомпилированный исполняемый файл, я получаю коды ошибок «-1073741515», что говорит мне об отсутствии зависимостей. Когда я копирую библиотеки DLL в этот каталог (чего я бы предпочел не делать), я получаю код ошибки «0».

Для проверки я использовал команду «printenv.exe». Я запустил его с помощью mpiexec, чтобы показать, что PATH на самом деле не установлен в вызывающей среде.

Я пытаюсь предотвратить копирование DLL, чтобы вместо этого использовать PATH. Могу ли я не передавать PATH в вызываемую среду?

D:\test>d:\thirdparty\win32-msvc2010\64bit\mpich2\v1.4.1p1\bin\mpiexec.exe -exitcodes -np 1 -envlist Path "C:\Program Files\UnxUtils\usr\local\wbin\printenv.exe"

...
Path=C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\mpirt;... libraries that aren't from the called PATH.
...

Данные: я использую MPICH2, v1.4.1p2.


person macetw    schedule 27.03.2015    source источник


Ответы (1)


Я узнал, что это известная ошибка на MPICH2, v1.4.1.

Мы решили использовать реализацию MPI от Intel, в которой эта ошибка отсутствует.

person macetw    schedule 27.08.2015