mpiexec,不复制 DLL
mpiexec, without copying DLLs
在我的 Windows 测试中,我对本地主机的 运行 MPI 感兴趣,没有复制 DLL 的资源开销。我宁愿使用调用环境中定义的 PATH。即使将“-envlist PATH”传递给 mpiexec,我也无法在我一直调用的 mpiexec 上执行此操作。
潜在的问题是当我调用我编译的可执行文件时,我得到错误代码“-1073741515”,这告诉我我缺少依赖项。当我将 DLL 复制到该目录时(我不想这样做),我得到一个非错误代码“0.”
为了测试,我使用了一个 "printenv.exe" 命令。我 运行 它使用 mpiexec,以表明在调用环境中实际上并未设置 PATH。
我试图阻止复制 DLL,而是使用 PATH。能不能不把PATH传给调用环境?
D:\test>d:\thirdparty\win32-msvc2010bit\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。
我了解到这是 MPICH2 v1.4.1 上的一个已知错误。
我们决定使用 Intel 的 MPI 实现,它不会出现此错误。
在我的 Windows 测试中,我对本地主机的 运行 MPI 感兴趣,没有复制 DLL 的资源开销。我宁愿使用调用环境中定义的 PATH。即使将“-envlist PATH”传递给 mpiexec,我也无法在我一直调用的 mpiexec 上执行此操作。
潜在的问题是当我调用我编译的可执行文件时,我得到错误代码“-1073741515”,这告诉我我缺少依赖项。当我将 DLL 复制到该目录时(我不想这样做),我得到一个非错误代码“0.”
为了测试,我使用了一个 "printenv.exe" 命令。我 运行 它使用 mpiexec,以表明在调用环境中实际上并未设置 PATH。
我试图阻止复制 DLL,而是使用 PATH。能不能不把PATH传给调用环境?
D:\test>d:\thirdparty\win32-msvc2010bit\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。
我了解到这是 MPICH2 v1.4.1 上的一个已知错误。
我们决定使用 Intel 的 MPI 实现,它不会出现此错误。