В моем тесте Windows меня интересует запуск MPI с помощью localhost без ресурсов, связанных с копированием DLL. Я предпочел бы использовать PATH, определенный в вызывающей среде. Я не смог сделать это на mpiexec, который я вызывал, даже если передал «-envlist PATH» в mpiexec.mpiexec, не копируя DLL
Основная проблема заключается в том, что, когда я вызываю свой скомпилированный исполняемый файл, я получаю коды ошибок «-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.