В моем тесте 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.