Numeca并行计算遇到的问题
问题描述
在 Numeca 的并行计算时,Solver Configuration 中选择了 MPICH2 求解计算的时候特别慢,CPU 利用率很低

然后我把 Solver Configuration 改成了 IntelMPI 结果就卡在那里一动不动

然后参照 【软件技巧】FineTurbo系列教程-并行卡住问题的解决办法_哔哩哔哩_bilibili 尝试解决但是无效。运行 .bat 文件,并没有启动运算,只跳出了如下界面

被挡住的文字是 Credentials for buaa rejected connecting to DESKTOP-ISAPFN7 就是报错了
问题发生原因
在第一次运行并行运算时,会弹出如下界面

在 Solver Configuration 中选择 MPICH2 会弹出一次,换成 IntelMPI 也会弹出一次,然后会让你输入电脑的用户名和电脑的密码(密码不显示)。我当时不知道,在选择 IntelMPI 时我输入的不是电脑用户名 Wenqi ,而是随手起了一个用户名 buaa 导致并行计算时卡住,且报错 Credentials for buaa rejected connecting to DESKTOP-ISAPFN7
解决方法
如何查看电脑用户名
win + r 输入 cmd 打开命令提示符,输入 whoami ,会输出 计算机名\用户名
Windows 的本地账户认证、注册表和 Intel MPI/Hydra 一般都以不区分大小写的方式匹配用户名
即 Wenqi,wenqi,WENQI… 都是同一个用户。SID 是 Windows 内部用于唯一标识账户的编号,用户名显示时的大小写通常不会影响身份认证。
方法1
卸载重新安装,然后并行运算时账户名和密码别输入错了,CPU利用率低就换一个 Solver Configuration
方法2
- 检查 Windows 凭据管理器
控制面板
→ 用户账户
→ 凭据管理器
→ Windows 凭据
但是没有发现与错误用户名 buaa、Intel MPI 或 NUMECA 有关的 Windows 凭据。如果发现了就把关于错误用户名的凭据删除掉,看不懂的先问一下 AI,不要乱删
- 在注册表中查找错误用户名
在命令提示符中输入 reg query HKCU /f "buaa" /s ,引号里面是错误的用户名
其中:
HKCU表示当前 Windows 用户的注册表配置。/f "buaa"表示搜索内容buaa。/s表示递归搜索所有子项。
搜索结果如下:
1 | HKEY_CURRENT_USER\Software\Intel\MPI |
这说明问题已经定位:HKEY_CURRENT_USER\Software\Intel\MPI 中 hydraAccount 保存了 Intel MPI/Hydra 默认使用的账户,而它的值被错误设置成了 buaa。HKEY_CURRENT_USER\Software\Intel\MPI\HYDRA\CACHE 中的 smpda 也缓存了旧用户名 buaa。因此,NUMECA 每次启动 Intel MPI 并行任务时,都会继续尝试使用错误账户,进而导致认证失败。
- 修复方法
-
关闭 Numeca
-
备份 Intel MPI 注册表配置
1 | reg export "HKCU\Software\Intel\MPI" "%USERPROFILE%\Desktop\Intel_MPI_backup.reg" /y |
执行后,桌面会生成:Intel_MPI_backup.reg 。如果后续需要恢复,可以使用该备份文件。
- 修改 Intel MPI 默认账户
将 hydraAccount 从错误的 buaa 改为当前 Windows 用户 Wenqi:
1 | reg add "HKCU\Software\Intel\MPI" /v hydraAccount /t REG_SZ /d Wenqi /f |
参数含义如下:
/v hydraAccount:指定要修改的注册表值。
/t REG_SZ:数据类型为字符串。
/d Wenqi:将值设置为Wenqi。
/f:不再询问,直接覆盖旧值。也可以填写小写的
wenqi,Windows 本地账户认证通常不区分用户名大小写。
- 删除旧的 Hydra 缓存
执行:
1 | reg delete "HKCU\Software\Intel\MPI\HYDRA\CACHE" /v smpda /f |
这条命令只删除 CACHE 下名为 smpda 的旧用户名缓存,不会删除整个 Intel MPI 配置。
这样做的目的是避免 Hydra 继续读取先前缓存的 buaa。
- 验证修改结果
执行:
1 | reg query "HKCU\Software\Intel\MPI" /s |
如果没有再找到 Intel MPI 中的 buaa,说明旧账户配置已经清理完成。
重新打开 NUMECA/FINE 17.1 并启动并行计算后,Intel MPI 即可使用正确账户运行。问题在完成以上修改后得到解决。
总结
本次故障的根本原因是:第一次使用 Intel MPI 并行计算时,误将 Windows 用户名填写错,Intel MPI/Hydra 又将错误用户名保存到了当前用户的注册表配置中,导致后续任务始终使用错误账户进行认证。CPU 利用率低在切换 Solver Configuration 为 IntelMPI 后也得到了解决。

