发布时间:2026/8/29 18:13:15
CANN/runtime:Notify管理 8. Notify管理【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime本章节描述 CANN Runtime 的 Notify 管理接口用于 Notify 的创建、记录、等待/重置及跨进程共享。aclError aclrtCreateNotify(aclrtNotify *notify, uint64_t flag)创建Notify。aclError aclrtDestroyNotify(aclrtNotify notify)销毁Notify。aclError aclrtRecordNotify(aclrtNotify notify, aclrtStream stream)在指定Stream上记录一个Notify。异步接口。aclError aclrtWaitAndResetNotify(aclrtNotify notify, aclrtStream stream, uint32_t timeout)阻塞指定Stream的运行直到指定的Notify完成再复位Notify。异步接口。aclError aclrtGetNotifyId(aclrtNotify notify, uint32_t *notifyId)获取指定Notify的ID。aclError aclrtNotifyBatchReset(aclrtNotify *notifies, size_t num)批量复位Notify。aclError aclrtNotifyGetExportKey(aclrtNotify notify, char *key, size_t len, uint64_t flags)将本进程中的指定Notify设置为IPCInter-Process Communication Notify并返回key即Notify共享名称用于在多Device上不同进程间实现任务同步。aclError aclrtNotifySetImportPid(aclrtNotify notify, int32_t *pid, size_t num)设置共享Notify的进程白名单。aclError aclrtNotifySetImportPidInterServer(aclrtNotify notify, aclrtServerPid *serverPids, size_t num)设置共享Notify的进程白名单。aclError aclrtNotifyImportByKey(aclrtNotify *notify, const char *key, uint64_t flags)在本进程中获取key的信息并返回本进程可以使用的Notify指针。aclrtCreateNotifyaclError aclrtCreateNotify(aclrtNotify *notify, uint64_t flag)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明创建Notify。参数说明参数名输入/输出说明notify输出Notify的指针。类型定义请参见aclrtNotify。flag输入Notify指针的flag。当前支持将flag设置为如下宏- ACL_NOTIFY_DEFAULT使能该bit表示创建的Notify默认在Host上调用。- ACL_NOTIFY_DEVICE_USE_ONLY使能该bit表示创建的Notify仅在Device上调用。宏的定义如下#define ACL_NOTIFY_DEFAULT 0x00000000U#define ACL_NOTIFY_DEVICE_USE_ONLY 0x00000001U返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明不同型号的硬件支持的Notify数量不同。对于Ascend 950PR/Ascend 950DT单个Device支持的Notify最大数为65535。对于Atlas A3 训练系列产品/Atlas A3 推理系列产品、Atlas A2 训练系列产品/Atlas A2 推理系列产品单个Device支持的Notify最大数为8192。对于Atlas 200I/500 A2 推理产品单个Device支持的Notify最大数为2048。对于Atlas 推理系列产品、Atlas 训练系列产品单个Device支持的Notify最大数为1024。aclrtDestroyNotifyaclError aclrtDestroyNotify(aclrtNotify notify)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明销毁Notify。参数说明参数名输入/输出说明notify输入待销毁的Notify。类型定义请参见aclrtNotify。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtRecordNotifyaclError aclrtRecordNotify(aclrtNotify notify, aclrtStream stream)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明在指定Stream上记录一个Notify。异步接口。aclrtRecordNotify接口与aclrtWaitAndResetNotify接口配合使用时主要用于多Stream之间同步等待的场景。参数说明参数名输入/输出说明notify输入待记录的Notify。类型定义请参见aclrtNotify。stream输入指定Stream。类型定义请参见aclrtStream。多Stream同步等待场景下例如Stream2等Stream1的场景此处配置为Stream1。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtWaitAndResetNotifyaclError aclrtWaitAndResetNotify(aclrtNotify notify, aclrtStream stream, uint32_t timeout)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明阻塞指定Stream的运行直到指定的Notify完成再复位Notify。异步接口。参数说明参数名输入/输出说明notify输入需等待的Notify。类型定义请参见aclrtNotify。stream输入指定Stream。类型定义请参见aclrtStream。多Stream同步等待场景下例如Stream2等Stream1的场景此处配置为Stream2。timeout输入等待的超时时间。取值说明如下- 0表示永久等待- 0配置具体的超时时间单位是秒。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtGetNotifyIdaclError aclrtGetNotifyId(aclrtNotify notify, uint32_t *notifyId)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明获取指定Notify的ID。参数说明参数名输入/输出说明notify输入指定要查询的Notify。类型定义请参见aclrtNotify。notifyId输出Notify ID。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtNotifyBatchResetaclError aclrtNotifyBatchReset(aclrtNotify *notifies, size_t num)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品不支持Atlas 训练系列产品不支持IPV350不支持功能说明批量复位Notify。参数说明参数名输入/输出说明notifies输入Notify数组。类型定义请参见aclrtNotify。num输入Notify数组的长度。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明昇腾虚拟化实例场景不支持该操作。aclrtNotifyGetExportKeyaclError aclrtNotifyGetExportKey(aclrtNotify notify, char *key, size_t len, uint64_t flags)产品支持情况Ascend 950PR支持Ascend 950DT不支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明将本进程中的指定Notify设置为IPCInter-Process Communication Notify并返回key即Notify共享名称用于在多Device上不同进程间实现任务同步。本接口需与以下其它关键接口配合使用以便实现多Device上不同进程间的任务同步此处以Device 0上的A进程、Device 1上的B进程为例说明两个进程间的任务同步接口调用流程:在A进程中调用aclrtCreateNotify接口创建Notify。调用aclrtNotifyGetExportKey接口导出key即Notify共享名称。调用aclrtNotifyGetExportKey接口时可指定是否启用进程白名单校验若启用则需单独调用aclrtNotifySetImportPid接口将B进程的进程ID设置为白名单反之则无需调用aclrtNotifySetImportPid接口。调用aclrtWaitAndResetNotify接口下发等待任务。调用aclrtDestroyNotify接口销毁Notify。涉及IPC Notify的进程都需要释放Notify所有涉及IPC Notify的进程都完成释放操作Notify才真正释放。在B进程中调用aclrtDeviceGetBareTgid接口获取B进程的进程ID。本接口内部在获取进程ID时已适配物理机、虚拟机场景用户只需调用本接口获取进程ID再配合其它接口使用达到内存共享的目的。若用户不调用本接口、自行获取进程ID可能会导致后续使用进程ID异常。调用aclrtNotifyImportByKey获取key的信息并返回本进程可以使用的Notify指针。建议flag使用ACL_RT_NOTIFY_IMPORT_FLAG_ENABLE_PEER_ACCESS开启两个Device之间的数据交互。调用aclrtNotifyImportByKey接口前需确保IPC Notify未提前释放。调用aclrtRecordNotify接口下发Record任务。调用aclrtDestroyNotify接口销毁Notify。参数说明参数名输入/输出说明notify输入指定Notify。类型定义请参见aclrtNotify。key输出Notify共享名称。len输入Notify共享名称的长度最小长度为65。flags输入是否启用进程白名单校验。取值为如下宏- ACL_RT_NOTIFY_EXPORT_FLAG_DEFAULT默认值启用进程白名单校验。配置为该值时需单独调用aclrtNotifySetImportPid接口将使用Notify共享名称的进程ID设置为白名单。- ACL_RT_NOTIFY_EXPORT_FLAG_DISABLE_PID_VALIDATION关闭进程白名单校验。配置为该值时则无需调用aclrtNotifySetImportPid接口。宏的定义如下#define ACL_RT_NOTIFY_EXPORT_FLAG_DEFAULT 0x0UL#define ACL_RT_NOTIFY_EXPORT_FLAG_DISABLE_PID_VALIDATION 0x02UL返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明昇腾虚拟化实例场景不支持该操作。aclrtNotifySetImportPidaclError aclrtNotifySetImportPid(aclrtNotify notify, int32_t *pid, size_t num)产品支持情况Ascend 950PR支持Ascend 950DT不支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明设置共享Notify的进程白名单。本接口需与其它接口配合使用以便实现多Device上不同进程间的任务同步请参见aclrtNotifyGetExportKey接口处的说明。参数说明参数名输入/输出说明notify输入指定Notify。类型定义请参见aclrtNotify。与aclrtNotifyGetExportKey接口中的Notify保持一致。pid输入用于存放白名单进程ID的数组。进程ID可调用aclrtDeviceGetBareTgid接口获取Docker场景下获取到的是物理机上的进程ID非Docker场景下获取到的是进程ID。num输入白名单进程数量与pid参数数组的大小保持一致。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明昇腾虚拟化实例场景不支持该操作。aclrtNotifySetImportPidInterServeraclError aclrtNotifySetImportPidInterServer(aclrtNotify notify, aclrtServerPid *serverPids, size_t num)产品支持情况Ascend 950PR/Ascend 950DT不支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品不支持Atlas 训练系列产品不支持IPV350不支持功能说明设置共享Notify的进程白名单。该接口仅针对Atlas A3 训练系列产品/Atlas A3 推理系列产品中的超节点产品。参数说明参数名输入/输出说明notify输入指定Notify。类型定义请参见aclrtNotify。必须先调用aclrtNotifyGetExportKey接口获取指定Notify的共享名称再作为入参传入。serverPids输入白名单信息数组。类型定义请参见aclrtServerPid。num输入serverPids数组的大小。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtNotifyImportByKeyaclError aclrtNotifyImportByKey(aclrtNotify *notify, const char *key, uint64_t flags)产品支持情况Ascend 950PR支持Ascend 950DT不支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明在本进程中获取key的信息并返回本进程可以使用的Notify指针。本接口需与其它接口配合使用以便实现多Device上不同进程间的任务同步请参见aclrtNotifyGetExportKey接口处的说明。参数说明参数名输入/输出说明notify输出Notify指针。类型定义请参见aclrtNotify。key输入Notify共享名称。必须先调用aclrtNotifyGetExportKey接口获取指定Notify的共享名称再作为入参传入。flags输入是否开启两个Device之间的数据交互。取值为如下宏- ACL_RT_NOTIFY_IMPORT_FLAG_DEFAULT默认值关闭两个Device之间的数据交互。配置为该值时需单独调用aclrtDeviceEnablePeerAccess接口开启两个Device之间的数据交互。- ACL_RT_NOTIFY_IMPORT_FLAG_ENABLE_PEER_ACCESS开启两个Device之间的数据交互。配置为该值时则无需调用aclrtDeviceEnablePeerAccess接口。宏的定义如下#define ACL_RT_NOTIFY_IMPORT_FLAG_DEFAULT 0x0UL#define ACL_RT_NOTIFY_IMPORT_FLAG_ENABLE_PEER_ACCESS 0x02UL返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明昇腾虚拟化实例场景不支持该操作。【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/27 16:32:03

GLM-5.2-MXFP4推理优化技巧:4个提升性能的关键配置

GLM-5.2-MXFP4推理优化技巧:4个提升性能的关键配置 【免费下载链接】GLM-5.2-MXFP4 项目地址: https://ai.gitcode.com/hf_mirrors/amd/GLM-5.2-MXFP4 GLM-5.2-MXFP4是一款高效的大语言模型,通过合理配置推理参数可以显著提升其运行性能。本文将…

2026/8/23 5:55:36

KASandbox社区生态指南:如何参与贡献与获取技术支持

KASandbox社区生态指南:如何参与贡献与获取技术支持 【免费下载链接】KASandbox This repository contains the core orchestration services, CRI multiplexing shim, and infrastructure components that power the KASandbox platform. 项目地址: https://gitc…

2026/8/30 6:34:24

实时辩论对战游戏:Node.js WebSocket与LLM集成实战

实时辩论对战游戏(argument duello game)是一个很适合用来练习 WebSocket 和 LLM 集成的项目:两名玩家围绕同一个辩题轮流发言,AI 裁判根据双方的论点、论据和攻防效果实时判断谁更有道理。这类项目表面上是一个 LLM 应用&#xf…

2026/8/30 6:34:24

Linux系统下常用的文本编辑器分为字符界面和图形界面两类

一、Linux常用的文本编辑器 Linux系统下常用的文本编辑器分为字符界面和图形界面两类,具体包括: 字符界面类:vi/vim、emacs、nano、pico、Joe等,其中vi是类Unix系统默认的文本编辑器,vim是vi的增强版本;ema…

2026/8/30 6:34:24

OpenAI自研芯片Jalapeño背后:AI推理芯片与算力成本解析

最近圈子里讨论度很高的一件事,是 SemiAnalysis 发布的一份关于 OpenAI 自研芯片的报告,尤其是报告中提到的“Jalapeo”芯片代号。对于不常关注芯片行业的人来说,这个代号看起来有点像一个内部项目玩笑:为什么一家大模型公司会给自…

2026/8/30 6:34:24

鱼龙吃翼龙化石:古生态捕食证据链的解读

一块化石能同时保存“捕食”和“被捕食”两个瞬间吗?答案是可以,而且极其罕见。这条标题本身就在说明一个罕见的生态事件:一条鱼龙吞下了一只翼龙,然后在还没来得及消化这顿“最后的晚餐”时,自己又成为更大型掠食者的…

2026/8/30 6:34:24

个人免签支付系统源码拆解:三网免挂、易支付对接与防掉单实战

简介:这是一套面向个人开发者与小微商户的聚合免签支付系统源码,解决传统支付接入需签约、对接繁琐、挂机监控成本高等痛点,支持个码直收、三网免挂回调,无需依赖第三方平台或常驻监控程序。资源包共2014个文件,含707个…

2026/8/30 6:29:24

订单系统表结构设计与业务说明实战:五张核心表全解析

之前在业务迭代中整理一套实战案例表结构时,最常遇到的不是写不出 SQL,而是字段和业务对不上、状态流转没人说得清、换个人接手后只能靠猜。尤其当项目里同时涉及订单、商品、用户、支付流水这些核心模块时,表结构的设计直接决定了后续开发、…

2026/8/30 0:03:35

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/8/30 0:03:35

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/8/30 0:03:35

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/8/30 0:03:35

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/8/30 0:03:35

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/8/30 0:03:35

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/8/28 16:16:48

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/28 16:16:50

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/28 11:06:45

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…