如何防止本地 msmpi 安装加载系统范围的 msmpi.dll

时间:2021-07-09 11:53:58

标签: environment-variables popen hpc cl ms-mpi

我正在为 windows 编写一个控制台应用程序,它使用 msmpi mpiexec.exe 设置环境并启动(打开)各种 hpc 应用程序。

我在本地安装了一个 msmpi 安装到我正在编写的应用程序。一切正常,并行处理正常。

但是,一旦我碰巧安装了 msmpi 以及(例如通过 msmpisetup.exe 安装),我的应用程序就会顽固地加载 Windows/system32/msmpi.dll 而不是我指向使用 PATH 的 msmpi.dll。由于系统 msmpi.dll 的版本不同,我的应用程序无法运行。

PATH env.var。在我的应用程序中设置,它显然被子进程正确继承,包括 mpiexec

我发现的唯一补救方法是 (1) 重命名 system32/msmpi.dll 或 (2) 放置“我的”msmpi.dll 的副本进入我有并行可执行文件的每个文件夹。这两种补救措施都……不好。

如何防止我的应用选择 system32/msmpi.dll 并改用 PATH 中的实例??

感谢您的建议。

N

0 个答案:

没有答案