我们在一组鲲鹏920集群上使用HyperMPI替换了原来的OpenMPI,期望能提升集合通信的效率。编译和链接都没有问题,小型测试比如IMB的pingpong也跑得很正常。但是当运行实际的应用(比如CP2K分子动力学模拟)进行跨节点大规模通信时,程序会随机报出数据校验错误,具体表现为MPI通信接收端校验和与发送端不匹配。错误并不是每次都会出现,同一个输入文件有时候能跑完,有时候跑一半就崩溃。崩溃时的错误日志指向不同的MPI调用,有时候是MPI_Alltoall,有时候是MPI_Sendrecv。我们检查过网络硬件,InfiniBand链路没有降速,光纤也没有明显衰减。用OpenMPI跑同样的应用和输入文件,从来没有出现过这种数据错误。HyperMPI的版本是官方推荐的与当前操作系统匹配的版本,安装过程也没有报错。想请教这种数据随机损坏的问题该如何定位,是HyperMPI本身存在bug还是我们配置上的问题。
我们在一组鲲鹏920集群上使用HyperMPI替换了原来的OpenMPI,期望能提升集合通信的效率。编译和链接都没有问题,小型测试比如IMB的pingpong也跑得很正常。但是当运行实际的应用(比如CP2K分子动力学模拟)进行跨节点大规模通信时,程序会随机报出数据校验错误,具体表现为MPI通信接收端校验和与发送端不匹配。错误并不是每次都会出现,同一个输入文件有时候能跑完,有时候跑一半就崩溃。崩溃时的错误日志指向不同的MPI调用,有时候是MPI_Alltoall,有时候是MPI_Sendrecv。我们检查过网络硬件,InfiniBand链路没有降速,光纤也没有明显衰减。用OpenMPI跑同样的应用和输入文件,从来没有出现过这种数据错误。HyperMPI的版本是官方推荐的与当前操作系统匹配的版本,安装过程也没有报错。想请教这种数据随机损坏的问题该如何定位,是HyperMPI本身存在bug还是我们配置上的问题。