【发布时间】:2021-07-09 11:53:58
【问题描述】:
我正在编写一个用于设置环境并使用 msmpi mpiexec.exe 启动(打开)各种 hpc 应用程序的 Windows 控制台应用程序。
我在本地安装了一个 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 中的实例??
感谢您的建议。
没有
【问题讨论】:
标签: environment-variables popen hpc cl ms-mpi