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),仅供参考

相关新闻

MOSS-Transcribe-Diarize输出格式解析:时间戳与说话人标签的完整指南

MOSS-Transcribe-Diarize输出格式解析:时间戳与说话人标签的完整指南

MOSS-Transcribe-Diarize输出格式解析:时间戳与说话人标签的完整指南 【免费下载链接】MOSS-Transcribe-Diarize MOSS-Transcribe-Diarize 是 OpenMOSS 团队推出的开源语音转写与说话人分离模型。它对长音频、多说话人音频进行统一建模,支持自动语音识别…

2026/7/11 14:37:23 阅读更多 →
基于TPA3128D2与ARM Cortex-M4的高效音频放大系统设计

基于TPA3128D2与ARM Cortex-M4的高效音频放大系统设计

1. 项目背景与核心组件介绍作为一名音响发烧友和嵌入式系统开发者,我最近完成了一个令人兴奋的音频放大系统项目。这个系统的核心在于将TPA3128D2这款高效D类音频放大器与MK60DN512VLQ10这款强大的ARM Cortex-M4微控制器完美结合,实现了专业级的音频放大…

2026/7/11 14:35:23 阅读更多 →
GitHub Desktop汉化终极指南:三分钟让官方Git客户端说中文

GitHub Desktop汉化终极指南:三分钟让官方Git客户端说中文

GitHub Desktop汉化终极指南:三分钟让官方Git客户端说中文 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Des…

2026/7/11 14:35:23 阅读更多 →

最新新闻

BSManager:从零开始掌握Beat Saber版本管理的终极指南

BSManager:从零开始掌握Beat Saber版本管理的终极指南

BSManager:从零开始掌握Beat Saber版本管理的终极指南 【免费下载链接】bs-manager An all-in-one tool that lets you easly manage BeatSaber versions, maps, mods, and even more. 项目地址: https://gitcode.com/gh_mirrors/bs/bs-manager 还在为Beat S…

2026/7/11 15:17:42 阅读更多 →
Wand-Enhancer终极指南:免费解锁WeMod专业版完整教程

Wand-Enhancer终极指南:免费解锁WeMod专业版完整教程

Wand-Enhancer终极指南:免费解锁WeMod专业版完整教程 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 想要完全免费解锁WeMod专业版的所有高级…

2026/7/11 15:15:42 阅读更多 →
LaTeX-Workshop深度诊断与系统修复指南:告别编译失败与配置困境

LaTeX-Workshop深度诊断与系统修复指南:告别编译失败与配置困境

LaTeX-Workshop深度诊断与系统修复指南:告别编译失败与配置困境 【免费下载链接】LaTeX-Workshop Boost LaTeX typesetting efficiency with preview, compile, autocomplete, colorize, and more. 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX-Workshop …

2026/7/11 15:13:42 阅读更多 →
AI 评论 Kamailio ISSUES 4777(TLS)

AI 评论 Kamailio ISSUES 4777(TLS)

链接如下: https://github.com/kamailio/kamailio/issues/4777 找 AI 解读了一下,质量很高,分享如下 这段对话讨论的是 Kamailio 在运行一段时间后反复出现 TLS 相关错误: tls: ssl bug #1491 workaround: not enough memory …

2026/7/11 15:11:42 阅读更多 →
Windows虚拟显示器驱动完整指南:轻松扩展桌面空间

Windows虚拟显示器驱动完整指南:轻松扩展桌面空间

Windows虚拟显示器驱动完整指南:轻松扩展桌面空间 【免费下载链接】Virtual-Display-Driver Add virtual monitors to your windows 10/11 device! Works with VR, OBS, Sunshine, and/or any desktop sharing software. 项目地址: https://gitcode.com/gh_mirror…

2026/7/11 15:11:42 阅读更多 →
VIA键盘配置器:打造完全个性化的机械键盘体验

VIA键盘配置器:打造完全个性化的机械键盘体验

VIA键盘配置器:打造完全个性化的机械键盘体验 【免费下载链接】releases 项目地址: https://gitcode.com/gh_mirrors/re/releases 你是否曾想过,你的机械键盘可以完全按照你的想法工作?不再受限于厂家预设的按键布局,不再…

2026/7/11 15:11:42 阅读更多 →

日新闻

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI图像生成真正听从你的指挥吗&…

2026/7/11 0:02:12 阅读更多 →
PIC18F45K42驱动EPT-14A4005P压电蜂鸣器方案详解

PIC18F45K42驱动EPT-14A4005P压电蜂鸣器方案详解

1. 项目背景与核心需求 在工业控制、安防系统和智能家居等领域,可靠的声音警报系统是不可或缺的基础组件。传统蜂鸣器存在音量不足、音质模糊等问题,而基于压电陶瓷技术的EPT-14A4005P蜂鸣器配合PIC18F45K42微控制器,能够构建一套适应性强、音…

2026/7/11 0:04:12 阅读更多 →
大模型推理中的算子融合优化:LayerNorm + Attention 的 CUDA Kernel 手写与验证

大模型推理中的算子融合优化:LayerNorm + Attention 的 CUDA Kernel 手写与验证

大模型推理中的算子融合优化:LayerNorm Attention 的 CUDA Kernel 手写与验证 一、GPU 利用率 30%:分开的算子吃掉所有带宽 推理服务的 GPU 利用率监测显示一个反直觉的现象:计算核心(SM)利用率不到 30%,但…

2026/7/11 0:04:12 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/10 19:03:29 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/9 21:41:05 阅读更多 →

月新闻