asc-comm 样例

简体中文 | English

本目录提供asc-comm API的使用样例。

样例列表

样例 说明 支持产品
aicore/ain/01_basic_ring 演示多卡环形场景下AIV Kernel通过AIN接口调用Put/Get进行点对点单边通信,并通过AinBarrierSession完成同步与结果校验。 Ascend 950PR/Ascend 950DT
aicore/hcomm/01_hcomm_write_read_nbi 演示多卡场景下AIV Kernel通过URMA路径调用Hcomm::WriteNbi和Hcomm::ReadNbi,并校验通信结果。 Ascend 950PR/Ascend 950DT
aicore/hcomm/02_hcomm_batch_write 演示多个URMA Channel共享Jetty,并通过MakeBatchHandle、GetHandleRef、BatchCommit和Drain批量提交跨peer写任务。 Ascend 950PR/Ascend 950DT
aicore/hcomm/03_one_multi_path 查询UB_MEM链路,为每个peer创建one path/multi path Channel,逐个处理peer,并通过双Stream并发搬运和校验该peer的远端数据。 Ascend 950PR/Ascend 950DT
aicore/hcomm/04_simt_urma 演示并验证全部 SIMT URMA 接口:WriteNbi、WriteValueNbi、WriteWithNotifyNbi、AtomicFAA 和 AtomicCAS,覆盖立即提交与批量提交。 Ascend 950PR / Ascend 950DT
aicore/hcomm/05_simt_urma_perftest 测量上述五个 SIMT URMA 接口的下发时延与完成带宽,覆盖立即提交/延迟提交两种发布策略。 Ascend 950PR / Ascend 950DT
simt_jetty 演示多卡场景下SIMT Kernel以thread/warp/group协作方式通过HcommJetty::Write直接构造并提交Jetty WQE,覆盖dispatch多warp批量提交与SIMT/SIMD混合发布模式,并附设备侧性能与压力测试脚本。 Ascend 950PR / Ascend 950DT
aicore/jetty/01_hcomm_jetty_write 演示多卡场景下AIV Kernel通过HcommJetty::Write和HcommJetty::WriteValue直接向Jetty SQ提交WQE,并通过Drain等待完成与校验结果。 Ascend 950PR/Ascend 950DT
ccu/ccu_direct 演示基于HCCL通信域和CCU数据面接口,以直调<<<>>>方式实现AllGather等集合通信操作。 Ascend 950PR/Ascend 950DT

各样例的编译与运行方式参见对应目录下的README。

运行约束

  • 样例支持Ascend 950PR/Ascend 950DT,CANN软件版本要求为9.1.0或以上。
  • 样例运行需要至少2张NPU;单卡环境仅支持编译验证。
  • 样例编译依赖CANN ASC CMake能力,并在链接阶段依赖CANN hcomm库。