2015-03-27 4 views
0

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

ответ

0

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

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