最近使用mpich2做单机64位多核并行计算,下载了mpich2-1.2.1p1-win-x86-64.msi,安装后设置环境变量,按照说明mpiexec -register注册后运行,总是出现如下错误:
unable to read the cmd header on the pmi context, Error=-1.
unable to read the cmd header on the pmi context, Error=-1.
unable to read the cmd header on the pmi context, Error=-1.
unable to read the cmd header on the pmi context, Error=-1.
反复装了mpich2的不同版本几遍,都是这个问题,在google上搜索,翻到第三页才找到了问题所在,参见http://social.microsoft.com/Forums/en-US/windowshpcsched/thread/3783803e-2a79-40a7-aeb4-185ca7637752
问题是由机器上同时安装了MSMPI和MPICH2导致的,我发现在Program Files文件夹下面有Microsoft Compute Cluster Pack这样一个MSMPI文件夹,解决方法比较简单:
1.卸载这个软件(需要把原软件再点开一次执行卸载,程序卸载菜单里是找不到的)
2.在系统变量Path内将指向Microsoft Compute Cluster Pack位置的路径删除
3.重新安装MPICH2软件,设置环境变量并注册
问题解决。
对了,补充说一句:mpich2安装非常简单,但是要求计算机使用有管理权限的用户,该用户还必须设置密码,不喜欢在windows下边给用户设置密码的朋友要注意了。

没有相关阅读。
The error generated by msmpi and mpich2 installed.. Smashing