HyperMPI在MPI_Bcast大消息广播时出现分段错误
收藏回复举报
HyperMPI在MPI_Bcast大消息广播时出现分段错误
t('forum.solved') 已解决
发表于2026-04-12 13:39:58
0 查看

我们在一台128核的鲲鹏920服务器上使用HyperMPI运行VASP计算,程序在某个迭代步突然崩溃,报出分段错误。通过多次重复测试,发现问题稳定出现在MPI_Bcast广播一个大约64MB的数据缓冲区时。同样的代码和输入文件,使用OpenMPI跑没有任何问题。我们写了一个很小的测试程序,只包含一次MPI_Bcast广播同样大小的数据,在4个进程时能正常完成,但进程数增加到16个或更多时,几乎每次运行都会在广播过程中崩溃。崩溃时的调用栈指向了HyperMPI内部的集合通信函数,具体位置在不同运行中略有不同,但都在数据拷贝或内存分配相关的代码段。我们已经确认所有进程的MPI缓冲区都已经正确分配,并且没有发生越界访问。HyperMPI版本是1.8.2,操作系统是openEuler 22.03。想请教这个问题有没有什么绕过的办法,或者是不是需要调整某些通信参数。

我要发帖子