已合并
特性分支helpers.h文件修改 #5511
treefei创建于 8月31日
特性分支helpers.h文件修改 #5511
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 treefei 的贡献)atomgit-bot
8月31日 评论:
8月31日 评论:
变更摘要
本 PR 在特性分支上重构了 helpers.h 的接口组织方式:新增公开头文件 include/c_api/utils/helpers.h 与内部实现头文件 impl/c_api/utils/helpers_impl.h,将 C API 辅助函数 asc_vf_call 的声明与实现分离,并调整 include/c_api/asc_simd.h 的头文件引用路径。核心逻辑是新增的 asc_vf_call 模板(及内部实现 asc_vf_call_impl),用于在 AIV 场景下统一封装 SIMD 向量函数调用,并在调试特性启用时自动执行 AscVFDebugInitUb 初始化、AscVFDebugTransferUb 溢出检测及告警打印。两个新增头文件还引入了 ASCENDC_C_API_INCLUDE_COMPILER_INTERNAL_HEADERS 内部头文件保护机制,防止内部实现头被直接引用。
主要改动
- 新增公开头文件
include/c_api/utils/helpers.h:在asc::c_api命名空间中声明asc_vf_call模板函数(转发funcPtr与变参),并在文件末尾包含内部实现头impl/c_api/utils/helpers_impl.h,构成声明与实现的分离。 - 新增内部实现头
impl/c_api/utils/helpers_impl.h:在asc::c_api::details命名空间中实现asc_vf_call_impl,当SimdVfDebugTraits<DebugTag>::enabled为真时依次调用AscVFDebugInitUb初始化调试缓冲区、AscVFDebugTransferUb传输并检测溢出,且在启用ASCENDC_INTERNAL_SIMD_VF_OVERFLOW_WARNING_ENABLED宏时通过printf_impl打印 2KB 上限溢出的告警信息;外层asc_vf_call仅在ASCEND_IS_AIV条件下派发执行。 - 调整
include/c_api/asc_simd.h的头文件引用:将原有#include "utils/base/helpers.h"替换为#include "c_api/utils/helpers.h",使 SIMD 相关公共头文件改从新的 C API helpers 路径引入辅助函数。 - 引入内部头文件使用保护机制:新增的
helpers.h与helpers_impl.h均通过ASCENDC_C_API_INCLUDE_COMPILER_INTERNAL_HEADERS宏进行守卫,直接包含内部实现头时会产生编译告警,提示改用公开接口c_api/utils/helpers.h。


不准确?
atomgit-bot
8月31日 评论:
8月31日 评论:
treefei
8月31日 评论:
8月31日 评论:
compile


8月31日 预合并成功(commit_id: e7d69bb2e0f4a6461cf9e2c49a570132c2e97f8c)
此处折叠了58条消息 查看更多
CANN-robot
9月4日 评论:
9月4日 评论:
The following users do not have permission to comment /lgtm or /approve on any module in this PR:
hyolee


9月4日 添加了label:lgtm
9月4日 合入了pull request
描述
关联的Issue
测试
文档更新
类型标签