You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Intel MPI库对通信子执行归约操作时触发内部错误

Intel MPI通信子归约操作断言失败问题分析

问题场景

创建大量MPI通信子后,执行MPI_Allreduce归约操作时触发断言失败。该问题仅在**大规模测试用例(大量通信子+适量归约数据)**中出现,无法提供最小复现示例。已测试intel/2020.1.217、intel/2020.2.254、intel/2021.4.0版本,均存在相同错误。

核心代码片段

通信子创建代码

MPI_ERR_SONDAGE(MPI_Group_incl(world_group, comm_size, &(on_going_communicator[0]), &local_group));
MPI_ERR_SONDAGE(MPI_Comm_create_group(MPI_COMM_WORLD, local_group, tag, &communicator)); tag++;

归约操作代码

MPI_ERR_SONDAGE(MPI_Allreduce(&(temporary[0]), &(temporary_glo[0]), (int)lignes.size(), MPI_DOUBLE, MPI_MAX, communicator));

错误信息

Assertion failed in file ../../src/mpid/ch4/src/intel/ch4_shm_coll.c
at line 2266: comm->shm_numa_layout[my_numa_node].base_addr
/.../oneapi/2021.4.0/mpi/2021.4.0/lib/release/libmpi.so.12(MPL_backtrace_show+0x1c) [0x2ace34033c8c]
/Cci/Admin/oneapi/2021.4.0/mpi/2021.4.0/lib/release/libmpi.so.12(MPIR_Assert_fail+0x21)
[0x2ace33aaffe1]
/.../oneapi/2021.4.0/mpi/2021.4.0/lib/release/libmpi.so.12(+0x24f609)
[0x2ace337c6609]
/.../oneapi/2021.4.0/mpi/2021.4.0/lib/release/libmpi.so.12(+0x19b518)
[0x2ace33712518]
/.../oneapi/2021.4.0/mpi/2021.4.0/lib/release/libmpi.so.12(+0x1686aa)
[0x2ace336df6aa]
/.../oneapi/2021.4.0/mpi/2021.4.0/lib/release/libmpi.so.12(+0x251ac7)
[0x2ace337c8ac7]
/Cci/Admin/oneapi/2021.4.0/mpi/2021.4.0/lib/release/libmpi.so.12(PMPI_Allreduce+0x562)
[0x2ace33685712]

临时解决方案与疑问

设置环境变量I_MPI_COLL_DIRECT=off和I_MPI_COLL_INTRANODE=pt2pt后代码可正常运行,但担心这会导致性能下降,希望明确问题根源。

问题根源分析与提示

  1. 核心原因:断言失败指向Intel MPI的共享内存(Shm)集合通信组件,问题出在NUMA节点的共享内存布局初始化上——comm->shm_numa_layout[my_numa_node].base_addr为空,说明该通信子对应的NUMA共享内存资源未正确分配或初始化。
  2. 触发条件:大量通信子的创建会消耗Intel MPI内部的共享内存资源池,当资源耗尽时,新创建的通信子无法完成NUMA共享内存布局的初始化,执行集合通信时就会触发断言。
  3. 优化建议:
    • 优先复用通信子,避免频繁创建大量独立通信子,减少资源消耗;
    • 调整Intel MPI共享内存相关参数:比如设置I_MPI_SHM_HEAP_SIZE增大共享内存堆的容量(例如I_MPI_SHM_HEAP_SIZE=4G),为更多通信子提供初始化资源;
    • 尝试更精准的环境变量配置:用I_MPI_COLL_SHM_ENABLE=off仅禁用共享内存集合通信,保留其他优化,比直接切换到点对点通信的性能损失更小;
    • 升级到2022及以后版本的Intel MPI,这类大规模资源管理的bug通常会在新版本中修复。

内容的提问来源于stack exchange,提问作者PilouPili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:05:17