---
title: KuComm使用说明
description: "Hyper MPI在HMPI层集合通信coll框架下新增KuComm分层拓扑组件，提供分层次拓扑框架能力。该框架的核心是根据集群的物理硬件拓扑（节点 - Socket - Core）进行分层，旨在为不同层级（如节点间、节点内、Socket内）的通信域，选择并执行最适合、性能最高的集合通信算法。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/userg_huaweimpi_0023.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/userg_huaweimpi_0023.html
indexId: 3acbab5d5f84c99b063393355713c4389ac9f36bea8628d5f44a0ed860cacc2560
---
# KuComm使用说明

Hyper MPI在HMPI层集合通信coll框架下新增KuComm分层拓扑组件，提供分层次拓扑框架能力。该框架的核心是根据集群的物理硬件拓扑（节点 - Socket - Core）进行分层，旨在为不同层级（如节点间、节点内、Socket内）的通信域，选择并执行最适合、性能最高的集合通信算法。

当前版本提供Bcast/Alltoall的阻塞集合操作接口，其他集合操作及点对点接口复用Hyper MPI原有的功能。该组件为后续不同层级通信域使用各自最适合的集合通信组件，进行极致性能优化提供了良好基础。

#### 组件使能方式

通过在mpirun命令中添加 --mca coll_kucomm_priority 100 将KuComm组件的优先级设为100（高于其他所有集合通信组件的默认优先级），即可使能KuComm组件。


#### 命令示例

以4节点，每个节点4进程为例

- 使能KuComm前：
  mpirun -np 16 -N 4 --hostfile hf4 -x UCX_TLS=sm,rc osu_bcast

- 使能KuComm后：
  mpirun -np 16 -N 4 --hostfile hf4 -x UCX_TLS=sm,rc --mca coll_kucomm_priority 100 osu_bcast


#### 特性支持与回退条件

- 当前KuComm组件仅支持Bcast和Alltoall接口，其他接口不会进入KuComm组件。
- 当前KuComm组件仅支持单线程场景调用Bcast和Alltoall接口。
- 当前KuComm组件仅支持多节点进程分布均匀的场景调用Bcast和Alltoall接口，否则会自动回退到Hyper MPI原有的Bcast和Alltoall接口。
- 当前KuComm组件暂不支持单节点Alltoall接口的调用，会自动回退到Hyper MPI原有的Alltoall接口。
