已关闭
[文档缺陷] IPC Notify 示例使用不存在的 Runtime API 名称 #1184
KaranocaVe创建于  12 天前关闭于  6 天前
KaranocaVe
KaranocaVe
12 天前 创建

[文档缺陷] IPC Notify 示例使用不存在的 Runtime API 名称

问题

docs/zh/dev_guide/07_inter_process_communication.md 的进程间共享 Notify 示例使用 aclrtNotifyCreate、aclrtNotifyWait、aclrtNotifyRecord 和 aclrtNotifyDestroy。固定版本的公开 ACL 头文件没有这些声明,调用示例无法按文档编译。创建调用还少了必需的 flag 参数。

证据

  • 固定源码:cann/runtime@c06e4cccb34ae5c5b616544250718879927da0d7。
  • include/external/acl/acl_rt.h 声明的对应接口为 aclrtCreateNotify(aclrtNotify*, uint64_t)、aclrtWaitAndResetNotify(aclrtNotify, aclrtStream, uint32_t)、aclrtRecordNotify(aclrtNotify, aclrtStream) 和 aclrtDestroyNotify(aclrtNotify)。
  • 同一固定源码的 example/2_advanced_features/notify/1_ipc_notify_withoutpid/proc_a.cpp 和 proc_b.cpp 使用上述正式接口;创建时传入 flag 0,WaitAndResetNotify 示例的 timeout 为 0。

影响

用户复制 IPC Notify 示例时会遇到未声明函数或参数数量不匹配,无法编译示例,也难以正确对应共享 Notify 的创建端等待和导入端记录流程。

修复

将文档中的调用名替换为头文件声明的正式 API,补齐创建接口的保留参数 0,并将等待接口按正式签名补齐 timeout 参数 0。导出、导入 key 的调用不变。

关联 PR: https://gitcode.com/cann/runtime/merge_requests/5711

likedislike
KaranocaVeKaranocaVe
12 天前 关联了pull request:docs: 修正 IPC Notify 示例中的 API 名称和参数
KaranocaVeKaranocaVe
12 天前 修改了issue 的描述
xiaocunxiaocun成员
12 天前 将 yongfei-hu 设为负责人
xiaocun
xiaocun成员
12 天前 评论:

感谢反馈!已对照固定提交的公开头文件和仓库样例,确认文档中的四个调用名与正式接口不符,创建和等待调用也缺少参数。应替换为 aclrtCreateNotify、aclrtWaitAndResetNotify、aclrtRecordNotify、aclrtDestroyNotify,并按仓库样例补齐两个参数 0。同时请检查正文中的 aclrtNotifyWait 名称,避免只修改代码块后仍保留错误指引。修正后的示例还需做编译验证。

likedislike
likeA_starlikeA_star成员
6 天前 关联了pull request:docs: 修正 IPC Notify 示例的 API 名称和参数(#1184)
likeA_starlikeA_star成员
6 天前 关联了pull request:docs: 澄清机会主义内存复用未命中的分配行为(#1186)
ykl999
ykl999成员
6 天前 评论:

pr已上库,issue关闭

likedislike
ykl999ykl999成员
6 天前 issue状态由 进行中 改变为 已解决
ykl999ykl999成员
6 天前 关闭了 issue