鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

满核运行集合通信(i)osu_alltoall(v)/(i)osu_scatter(v)/(i)osu_gather(v)节点卡住挂死

现象描述

在满核下运行 (i)osu_alltoall(v)/(i)osu_scatter(v)/(i)osu_gather(v),当使用默认的max_message_size(1MB)时,节点会卡住挂死。

可能原因

运行集合通信需要的内存超出节点实际内存。下图给出了不同OSU版本部分集合通信占用内存的情况。

图1 不同OSU版本节点内占用内存分析
  • PPN -- 每个节点的进程数。
  • np -- 总进程数。
  • max_msg_size -- 指定集合通信最大包长。

恢复步骤

根据单节点实际内存,代入不同OSU版本的(i)osu_alltoall(v)/(i)osu_scatter(v)/(i)osu_gather(v)内存占用公式中计算max_msg_size,在mpirun命令中通过-m参数指定最大包长的值。