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库。