HAMi × NVIDIA:GPU 拓扑感知调度实现详解
转载自 | Dynamia 密瓜智能 作为一个活跃的开源项目,HAMi 由来自 15+ 国家、350+ 贡献者共同维护,已被 200+ 企业与机构在实际生产环境中采纳,具备良好的可扩展性与支持保 障。 HAMi 社区在 v2.7.0 版本中正式推出了针对 NVIDIA GPU 的 拓扑感知调度 功能。此特性主要解决高性能计算(HPC)和 AI 大模型训练场景下的多卡通 信瓶颈问题,通过智能调度,将计算任务精确部署到物理连接最紧密、通信速度最快的 GPU 组合上,从而最大化加速计算任务,提升集群整体的算力效 能。 本文将在功能介绍的基础上,深入代码实现,详细剖析 HAMi 在支持 NVIDIA GPU 拓扑感知调度时的具体设计与实现原理。 HAMi 对 NVIDIA GPU 的拓扑感知调度,其核心设计思想是:首先在节点本地将复杂的物理拓扑精确地量化为设备间的 "通信分数"。然后,调度器在决策 时,基于这些分数做出最终的、最优的选择。 动态计算拓扑分数 :Device Plugin 能够通过 NVML 动态探测节点上 GPU 间的物理连接拓扑(如 NVLink、PCIe),并将其量化为设备间的 "通信 分数",为 ...