当前位置: 首页 > news >正文

CANN/HCOMM线程通知等待函数

HcommThreadNotifyWaitOnThread

【免费下载链接】hcommHCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持

[!NOTE]说明 针对Atlas A2 训练系列产品/Atlas A2 推理系列产品,仅支持Atlas 800T A2 训练服务器、Atlas 900 A2 PoD 集群基础单元、Atlas 200T A2 Box16 异构子框。

功能说明

等待同步信号,该接口会阻塞等待Thread的运行,直到指定的Notify被record完成。

函数原型

int32_t HcommThreadNotifyWaitOnThread(ThreadHandle thread, uint32_t notifyIdx, uint32_t timeout)

参数说明

参数名输入/输出描述
thread输入线程句柄,为通过HcclThreadAcquire接口获取到的threads。
ThreadHandle类型的定义请参见ThreadHandle。
notifyIdx输入需等待的Notify通知索引。
取值范围为:[0, HcclThreadAcquire接口传入的notifyNumPerThread参数的值)。
timeout输入超时时间,单位:毫秒。
- 0:表示永久等待。
- >0:配置的具体超时时间。
说明:针对 Ascend 950PR/Ascend 950DT ,暂不支持自定义超时功能,固定为 1080000 毫秒。

返回值

int32_t:接口成功返回0,其他失败。

约束说明

该接口需要配合HcommThreadNotifyRecordOnThread使用。

在 Ascend 950PR/Ascend 950DT 上,仅支持 AICPU_TS 模式下、在 Device 侧调用该接口。

调用示例

HcclComm comm; CommEngine engine = COMM_ENGINE_CPU_TS; aclrtStream streams[2]; ThreadHandle threads[2]; // 申请2条流,每条流2个Notify aclrtCreateStream(&streams[0]); aclrtCreateStream(&streams[1]); HcclResult result = HcclThreadAcquireWithStream(comm, engine, streams[0], 2, &threads[0]); result = HcclThreadAcquireWithStream(comm, engine, streams[1], 2, &threads[1]); uint32_t notifyIdx = 0; // 发送同步信号 HcommThreadNotifyRecordOnThread(threads[0], threads[1], notifyIdx); uint32_t timeout = 1; // 等待同步信号 HcommThreadNotifyWaitOnThread(threads[1], notifyIdx, timeout);

在 Ascend 950PR/Ascend 950DT 上,该函数需要编译到 Device 侧使用:

HcclComm comm; CommEngine engine = COMM_ENGINE_AICPU_TS; ThreadHandle threads[2]; uint32_t notifyNumPerThread = 2; HcclThreadAcquire(comm, engine, 1, notifyNumPerThread, &threads[0]); HcclThreadAcquire(comm, engine, 1, notifyNumPerThread, &threads[1]); // 其余资源申请 // 拷贝参数并 Launch Kernel // Device 侧算法编排 uint32_t notifyIdx = 0; // 发送同步信号 HcommThreadNotifyRecordOnThread(threads[0], threads[1], notifyIdx); uint32_t timeout = 1; // 等待同步信号 HcommThreadNotifyWaitOnThread(threads[1], notifyIdx, timeout);

【免费下载链接】hcommHCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/783497/

相关文章:

  • CANN KV压缩Epilog算子
  • 活动大屏LED租赁哪个公司好 - 速递信息
  • 谷歌智能眼镜2026年将问世,Gemini驱动,多品牌合作亮点多!
  • CANN/cann-recipes-infer MoE路由分组量化算子
  • STRAIGHT_JOIN 用法
  • 区块链+AI+DAO构建反性勒索平台:技术架构与实战解析
  • 从clevercli看AI命令行工具的设计哲学与工程实践
  • 通过curl命令直接测试Taotoken多模型聚合接口的响应
  • 2026知名CRM系统测评:12款客户管理系统价值解析 - Blue_dou
  • CANN PTO Tile-Scalar汇编操作
  • LIME实战避坑指南:从医疗影像到金融风控的可解释性落地
  • Phi-2小模型深度解析:27亿参数如何实现强推理与高效部署
  • GEE实战:用MOD17A3HGF和MYD17A2H数据,手把手教你生成8天和月度NPP数据集(附完整代码)
  • 基于辩证唯物主义认识论的大语言模型架构设计与机理分析
  • AIGC检测是什么?论文查AI率和论文查重有什么不同?
  • ChatGPT推理能力深度测试:从假设演绎到因果推理的AGI试金石
  • CANN/pypto矩阵乘法API文档
  • 2026年德州沥青加温设备、沥青储存罐与筑路设备源头厂家选购指南 - 企业名录优选推荐
  • Python字典底层原理与工程实践全解
  • CANN/ops-cv ResizeBilinearV2反向传播算子
  • 论文改到崩溃?Paperxie 把查重降重的坑都给你填平了
  • 在 RTOS 里使用 UART——信号量 + DMA 回调框架
  • AdvancedTCA架构:电信与超算融合的技术解析
  • 基于主题建模的教育多模态与生成式AI研究全景分析
  • 初创公司如何借助 Taotoken 的按 token 计费模式控制 AI 实验成本
  • 范进人生轨迹
  • AI预测抗生素耐药性:从数据清洗到可解释模型的全流程实战
  • iOS 开发 事件响应链与手势识别原理
  • CANNOpsTransformer融合因果一维卷积
  • CANN/asc-devkit Asinh函数