Merged
【doc】capi示例代码优化 #3896
【doc】capi示例代码优化 #3896
Merged
ChenCangtaoAdd on Jul 2
ChenCangtaoCollaborators
Jul 2

描述

为capi相关文档添加约束,优化示例代码及注释描述

关联的Issue

测试

文档更新

docs/api/SIMD-API/C-API/cube_datamove/asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md
docs/api/SIMD-API/C-API/cube_datamove/asc_copy_l0c2ub.md
docs/api/SIMD-API/C-API/cube_datamove/asc_copy_l12l0a_trans.md
docs/api/SIMD-API/C-API/reg/reg_store/asc_storeunalign_postupdate.md
docs/api/SIMD-API/C-API/reg/reg_vector/asc_mul.md
docs/api/SIMD-API/C-API/simd_atomic/asc_set_atomic_max.md
docs/api/SIMD-API/C-API/simd_atomic/asc_set_atomic_min.md
docs/api/SIMD-API/C-API/struct/asc_l13d_fmatrix_config.md
docs/api/SIMD-API/C-API/sys_var/asc_get_phy_buf_addr.md
docs/api/SIMD-API/C-API/sys_var/asc_get_sub_block_num.md
docs/api/SIMD-API/C-API/sys_var/asc_set_l12l0_padding_val.md

类型标签

likedislike
Pull Request has been successfully merged by CANN-robot.
(Thank you for ChenCangtao's contribution.)
CChenCangtaoCollaborators
Jul 2 Created pull request, commit 72d92f5c
CANN-robotCANN-robotCollaborators
Jul 2 Added label: stat/needs-squash
CANN-robotCANN-robotCollaborators
Jul 2 Added label: cann-cla/yes
CANN-robot
CANN-robotCollaborators
Jul 2 Comments:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here。
You can get sig-info at here


PR Approval Progress

✅ Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
docs ✅ munanhw, 诸葛洵 (2/2) ✅ munanhw (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

ChenCangtao, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
ChenCangtaoCollaborators
Jul 2 Comments:

compile

likedislike
CChenCangtaoCollaborators
Jul 2 Pre merge succeeded (commit_id: 08ab5ffa09e28623b695d8b06b15ae6eb7517b55)
CANN-robotCANN-robotCollaborators
Jul 2 Added label: ci-pipeline-running
CANN-robot
CANN-robotCollaborators
Jul 2 Comments:

流水线任务触发成功
任务链接 [7fe02903a41b4c90b5c5afb4001fa193][流水线指导]

任务名称状态日志下载链接
SCA ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
codecheck ✅ SUCCESS >>>>>
codecheck_Pr ✅ SUCCESS
pre_comment ✅ SUCCESS >>>>>
StaticCheck_codespell_check ✅ SUCCESS
StaticCheck_link_validity_check ✅ SUCCESS
StaticCheck_resource_existence_check ✅ SUCCESS
StaticCheck_tag_closed_check ✅ SUCCESS
StaticCheck_markdownlint ✅ SUCCESS
codecheck_codestyle ✅ SUCCESS >>>>>
codecheck_precommit ✅ SUCCESS >>>>>

[2026-07-02 17:48:04]    CI执行结束

likedislike
CANN-robot
CANN-robotCollaborators
Jul 2 Comments:

流水线任务触发成功
任务链接 [312bb6c17ccc40a49b5557e94f473c10][流水线指导]

任务名称状态日志下载链接
Compile_Ascend_X86_ubuntu24 ✅ SUCCESS >>>>> >>>>>
pre_comment ✅ SUCCESS >>>>>
UT_Test_adv_test_one ✅ SUCCESS
UT_Test_adv_test_two ✅ SUCCESS
UT_Test_basic_test_two ✅ SUCCESS
UT_Test_basic_test_three ✅ SUCCESS
UT_Test_basic_test_four ✅ SUCCESS
UT_Test_basic_test_five ✅ SUCCESS
UT_Test_arm ✅ SUCCESS
API_Check ✅ SUCCESS >>>>>
UT_Test_report ✅ SUCCESS >>>>>

[2026-07-02 17:48:25]    CI执行结束

likedislike
CANN-robot
CANN-robotCollaborators
Jul 2 Comments:

流水线任务触发成功
任务链接 [9fe9e4cc0b11415fbf927e67aff24763][流水线指导]

任务名称状态日志下载链接
Compile_Ascend_X86 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM ✅ SUCCESS >>>>> >>>>>
pre_comment ✅ SUCCESS >>>>>
Compile_Ascend_X86_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_ubuntu24 ✅ SUCCESS >>>>> >>>>>
PreSmoke_A900_npupool ✅ SUCCESS >>>>>

[2026-07-02 17:47:42]    CI执行结束

likedislike
gao_dafaCollaborators
Jul 2 Comments:

ChenCangtao,感谢您的提交,建议在完成PR充分自验证后,再触发线上构建任务。

若您的PR已具备检视条件,可根据下表的责任田,@对应的committer进行代码检视,我们会在第一时间对您的提交进行处理。

代码责任田:

module committer
adv_api chenyiyuan, wuyang_hw
basic_api chenyiyuan, wuyang_hw
c_api pangfd, yue_mo_du_qian
cmake xun_zhuge, DragonBornHD84
docs munanhw, ai_xin
examples changxianyu, bianque
simt_api wulinyu, zhanghao_0689
scripts xun_zhuge, kevin365
tools YANXI_ZHAO, XuebinYang, sjtulxh

💡 如您不确定可以@谁,可以直接@我或者ascend-c sig的maintainer,xun_zhuge和ascendhjh,我们会为您分配合适的committer进行代码检视。

再次感谢您参与CANN的社区贡献。

likedislike
CANN-robotCANN-robotCollaborators
Jul 2 Added label: api-check-pass
CANN-robotCANN-robotCollaborators
Jul 2 Removed label: ci-pipeline-running
CANN-robotCANN-robotCollaborators
Jul 2 Added label: ci-pipeline-passed
CChenCangtaoCollaborators
Jul 2 Modify description of pull request
pangfdCollaboratorsJul 2Start code review3
docs/api/SIMD-API/C-API/cube_datamove/asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md
Outdated
@@ -258,3 +258,3 @@
258258uint8_t clip_relu_pre = 0;
259259uint8_t unit_flag_ctl = 0;
260-uint64_t quant_pre = DEQF16;
260+uint64_t quant_pre = QF322F32_PRE;
pangfdJul 2Comments:

确认下这个枚举值能不能直接使用。

likedislike
System
System MessageSystem
Jul 2 Comments:

changed this line on e0355795 view diff detail

ChenCangtaoCollaborators
Jul 2 Comments:

已修复

pangfdCollaboratorsJul 2Start code review3
docs/api/SIMD-API/C-API/cube_datamove/asc_copy_l0c2gm/asc_copy_l0c2gm_arch_3510.md
Outdated
@@ -263,2 +263,2 @@
263-bool NZ2ND_en = true;
264-uint64_t quant_post = VQS162B8_POST;
263+bool NZ2ND_en = false;
264+uint64_t quant_post = NoConv;
pangfdJul 2Comments:

确认下这个枚举值能不能直接使用。
docs/api/SIMD-API/C-API/cube_datamove/asc_copy_l0c2ub.md中也一样。

likedislike
System
System MessageSystem
Jul 2 Comments:

changed this line on e0355795 view diff detail

ChenCangtaoCollaborators
Jul 2 Comments:

已修复

pangfdCollaboratorsJul 2Start code review3
docs/api/SIMD-API/C-API/simd_atomic/asc_set_atomic_max.md
Outdated
@@ -52,3 +52,4 @@
5252constexpr uint32_t total_length = 256;
5353__ubuf__ int8_t src0[total_length];
5454__ubuf__ int8_t src1[total_length];
55+__gm__ int8_t dst[total_length];
pangfdJul 2Comments:

gm一般是host侧申请的。device侧能否这样用?

likedislike
System
System MessageSystem
Jul 2 Comments:

changed this line on e0355795 view diff detail

ChenCangtaoCollaborators
Jul 2 Comments:

已修复

pangfdCollaboratorsJul 2Start code review3
docs/api/SIMD-API/C-API/reg/reg_vector/asc_mul.md
Outdated
@@ -52,11 +52,14 @@ PIPE_V
5252## 调用示例
5353 
5454```cpp
55+__ubuf__ half* src0_addr;
pangfdJul 2Comments:

ub内存要初始化,可定义为数组形式。

likedislike
System
System MessageSystem
Jul 2 Comments:

changed this line on e0355795 view diff detail

ChenCangtaoCollaborators
Jul 2 Comments:

已修复

atomgit-bot
atomgit-bot
Jul 2 Comments:

变更摘要

本次变更是一个文档类型的 PR,主要针对 CAPI 相关的示例代码进行优化调整。改动涉及 11 个文件,总计新增 31 行、删除 22 行,属于小幅度的文档与示例代码修正。

主要改动

  • CAPI 示例代码优化:对 CAPI 接口相关的示例代码进行了修正和精简,提升了示例的准确性和可读性。
  • 文档内容小幅调整:在多个文件中进行了代码示例的增删改,净增 9 行,整体改动量较小,属于文档层面的维护性优化。
likedislike
Incorrect?
atomgit-bot
atomgit-bot
Jul 2 Comments:

代码审查

审查总结

本次 diff 涉及 11 个 Markdown 文档文件的 C API 示例代码优化。逐文件审查结果如下:

文件 审查结论
asc_copy_l0c2gm_arch_3510.md P3 ×1:clip_relu_post=true 与 quant_post=NoConv、relu_post=0 违反文档约束
asc_copy_l0c2ub.md P3 ×1:同上,clip_relu_post=true 与 quant_post=NoConv、relu_post=0 违反文档约束
asc_copy_l12l0a_trans.md 无问题 — uint64_t→uint16_t 类型修正与函数签名一致
asc_storeunalign_postupdate.md 无问题 — 注释中 src1_dst→dst 修正了笔误
asc_mul.md 无问题 — 新增指针声明使示例更完整,移除了重复/有误的内联注释
asc_set_atomic_max.md 无问题 — 新增 dst 声明补全了缺失的变量定义
asc_set_atomic_min.md 无问题 — 同上
asc_l13d_fmatrix_config.md 无问题 — 新增约束说明有助于用户正确使用
asc_get_phy_buf_addr.md 无问题 — 注释修正了复制粘贴错误
asc_get_sub_block_num.md 无问题 — 修正了 MIX__AIC 双下划线笔误和多余的项目符号
asc_set_l12l0_padding_val.md 无问题 — 2'b010→2'b10 修正了 2 位字段的位宽错误

统计:P0 0 个,P1 0 个,P2 0 个,P3 2 个。

总体风险:低。两个 P3 问题属于文档示例代码的参数组合与 API 自身约束说明不一致,不会影响生产代码的编译或运行,但可能误导阅读文档的开发者。10/11 文件的改动是正确的优化(类型修正、笔误修正、补全声明、新增约束说明等)。

类型 数量
🔴 阻塞 0
🟡 建议 1

💬 仅评论

likedislike
Incorrect?
atomgit-bot
atomgit-botJul 2Start code review3
docs/api/SIMD-API/C-API/reg/reg_vector/asc_mul.md
Outdated
@@ -53,2 +53,4 @@
5353 
5454```cpp
55+__ubuf__ half* src0_addr;
56+__ubuf__ half* src1_addr;
atomgit-bot
atomgit-botJul 2Comments:

🟡 Medium Priority

在 asc_mul.md 第55-56行,新增了 __ubuf__ half* src0_addr; 和 __ubuf__ half* src1_addr; 的声明,但这两个指针变量从未被赋予有效地址。随后在第62-63行,它们被直接传递给 asc_loadalign(src0, src0_addr) 和 asc_loadalign(src1, src1_addr)。

使用未初始化的局部变量在 C/C++ 中是未定义行为:编译器会发出 -Wuninitialized 警告,若编译通过则运行时将从垃圾地址读取数据。

同时,原代码中解释这些地址来源的注释(// src0_addr是外部输入的UB内存空间地址)被一并删除,使得示例代码既不完整又缺少说明,会直接误导用户写出错误代码。

触发条件:用户复制此示例代码并尝试编译/运行。

失败模式:编译警告或错误;若编译通过则 asc_loadalign 从无效地址加载数据,导致计算结果错误或程序崩溃。

建议:需要为 src0_addr 和 src1_addr 赋予有效的 UB 地址,或恢复原注释说明这些地址由外部提供,同时将声明改为适当的初始化方式。例如,通过 asc_get_phy_buf_addr 分配内存并赋值,或者使用数组方式声明并取其地址。

likedislike
Incorrect?
System
System MessageSystem
Jul 2 Comments:

changed this line on e0355795 view diff detail

ChenCangtaoCollaborators
Jul 2 Comments:

已修复

CChenCangtaoCollaborators
Jul 2 Pre merge succeeded (commit_id: 80e8fb376faad982c9f57f1088aa53eba91b4a31)
CChenCangtaoCollaborators
Jul 2 Pushed 1 commits:e0355795-修改检视意见
CChenCangtaoCollaborators
Jul 2 Pre merge succeeded (commit_id: ae5df3679360083c83c4cea73e28c0079720f4b7)
CANN-robotCANN-robotCollaborators
Jul 2 Removed label: ci-pipeline-passed
CANN-robot
CANN-robotCollaborators
Jul 2 Comments:

Notification

This pull request has been changed(code update) or closed, so removes the following label(s): ci-pipeline-passed.

likedislike
CChenCangtaoCollaborators
Jul 2 Pre merge succeeded (commit_id: a5845347153462bf2483a5b3b1ff27df58ba594b)
CChenCangtaoCollaborators
Jul 2 Pushed 1 commits:4df71fbc-修改AI审查意见
CChenCangtaoCollaborators
Jul 2 Pre merge succeeded (commit_id: 847232bd5a137ad190c19e957ed6bbd576b01e94)
ChenCangtaoCollaborators
Jul 2 Comments:

compile

likedislike
CChenCangtaoCollaborators
Jul 2 Pre merge succeeded (commit_id: 800c044d3ca52dbb39dfa87f7e8dbc1e253e5aba)
CANN-robotCANN-robotCollaborators
Jul 2 Removed label: api-check-pass
CANN-robotCANN-robotCollaborators
Jul 2 Added label: ci-pipeline-running
CANN-robot
CANN-robotCollaborators
Jul 2 Comments:

流水线任务触发成功
任务链接 [b538ad2f8d9249e88ee50ad072357316][流水线指导]

任务名称状态日志下载链接
SCA ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
codecheck ✅ SUCCESS >>>>>
codecheck_Pr ✅ SUCCESS
pre_comment ✅ SUCCESS >>>>>
StaticCheck_codespell_check ✅ SUCCESS
StaticCheck_link_validity_check ✅ SUCCESS
StaticCheck_resource_existence_check ✅ SUCCESS
StaticCheck_tag_closed_check ✅ SUCCESS
StaticCheck_markdownlint ✅ SUCCESS
codecheck_codestyle ✅ SUCCESS >>>>>
codecheck_precommit ✅ SUCCESS >>>>>

[2026-07-02 21:50:15]    CI执行结束

likedislike
CANN-robot
CANN-robotCollaborators
Jul 2 Comments:

流水线任务触发成功
任务链接 [0b3f0909fc53435d8814b6754cd83068][流水线指导]

任务名称状态日志下载链接
Compile_Ascend_X86_ubuntu24 ✅ SUCCESS >>>>> >>>>>
pre_comment ✅ SUCCESS >>>>>
UT_Test_adv_test_one ✅ SUCCESS
UT_Test_adv_test_two ✅ SUCCESS
UT_Test_basic_test_two ✅ SUCCESS
UT_Test_basic_test_three ✅ SUCCESS
UT_Test_basic_test_four ✅ SUCCESS
UT_Test_basic_test_five ✅ SUCCESS
UT_Test_arm ✅ SUCCESS
API_Check ✅ SUCCESS >>>>>
UT_Test_report ✅ SUCCESS >>>>>

[2026-07-02 21:50:27]    CI执行结束

likedislike
CANN-robot
CANN-robotCollaborators
Jul 2 Comments:

流水线任务触发成功
任务链接 [44b424e4ab234ee581e79ced3e2b775f][流水线指导]

任务名称状态日志下载链接
Compile_Ascend_X86 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM ✅ SUCCESS >>>>> >>>>>
pre_comment ✅ SUCCESS >>>>>
Compile_Ascend_X86_ubuntu24 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM_ubuntu24 ✅ SUCCESS >>>>> >>>>>
PreSmoke_A900_npupool ✅ SUCCESS >>>>>

[2026-07-02 21:57:37]    CI执行结束

likedislike
CANN-robotCANN-robotCollaborators
Jul 2 Added label: api-check-pass
CANN-robotCANN-robotCollaborators
Jul 2 Removed label: api-check-pass
CANN-robotCANN-robotCollaborators
Jul 2 Removed label: ci-pipeline-running
CANN-robotCANN-robotCollaborators
Jul 2 Added label: ci-pipeline-passed
PpangfdCollaborators
Jul 3 Resolved final issue
munanhwCollaborators
Jul 3 Comments:

/approve

likedislike
CANN-robotCANN-robotCollaborators
Jul 3 Added label: approved
zhugexun_sjtu
zhugexun_sjtuCollaborators
Jul 3 Comments:

/lgtm

likedislike
CANN-robotCANN-robotCollaborators
Jul 3 Added label: lgtm
CANN-robotCANN-robotCollaborators
Jul 3 Merged pull request