已关闭
[Requirement|需求建议]: 补充SIMD VF printf与dump调测样例 #712
ApeiriaNode_Booker创建于  5月20日关闭于  5月28日
ApeiriaNode_Booker
ApeiriaNode_Booker成员
5月20日 创建

Backgroud(背景信息)

AscendC 已支持在 SIMD VF(向量前端)场景中使用 printf、asc_dump_reg / asc_dump 等调测能力。当前需求不是新增这些调测能力本身,而是为用户补充可参考、可编译、可运行的样例工程,降低用户理解和验证 SIMD VF 调测接口的成本。

Origin(信息来源)

  • 内部需求

Benefit / Necessity (价值/作用)

  • 为 SIMD VF printf 和寄存器 dump 提供标准样例,便于用户快速掌握调测接口的使用方式。
  • 覆盖字符串、整数、浮点等 printf 打印场景,以及 RegTensor / MaskReg 配合 asc_dump_reg、asc_dump 打印寄存器内容的场景。
  • 通过 CMake 工程、数据生成和结果校验脚本形成完整交付,便于集成到样例目录和冒烟验证流程。
  • 与已有“接口能力开发”类需求区分,本需求聚焦样例补充与使用演示。

Design(设计方案)

参考 asc-devkit/examples/01_simd_cpp_api/00_introduction/01_vector/add 的 CMake 工程组织方式,新增一个 SIMD VF 调测样例目录,例如 simd_vf_debug/,包含:

  • CMakeLists.txt:使用 find_package(ASC REQUIRED),配置 ASC/CXX 工程和 dav-3510 等目标架构。
  • simd_vf_debug.asc:包含 host 初始化、__global__ __vector__ kernel,以及 __simd_vf__ 调测函数。
  • scripts/gen_data.py:生成输入数据。
  • scripts/verify_result.py:解析运行日志,校验 [simd] 打印和 dump 输出。

建议样例覆盖:

  1. SIMD VF printf 打印样例

    • __simd_vf__ 函数中通过 printf 演示字符串、整数、无符号整数、浮点数、多参数混合打印。
    • __global__ 中通过 asc_vf_call<MyPrint>() 调用。
  2. SIMD VF reg dump 打印样例

    • __simd_vf__ 函数中使用 AscendC::Reg::RegTensor<T>AscendC::Reg::MaskReg
    • 演示加载/构造寄存器数据、执行简单操作,并调用 __asc_simd_vf::asc_dump_reg<T>(...)__asc_simd_vf::asc_dump<T>(...) 输出寄存器内容。
    • 优先覆盖 floathalfint32_t,并在能力允许范围内扩展到更多整型、浮点和特殊数据类型。
  3. 构建与验证

    • 支持 mkdir build && cd build && cmake .. && make 编译。
    • 在 NPU 环境运行二进制并重定向日志。
    • verify_result.py 校验日志中的 printf 标记、dump 标记和关键数值,保证样例可持续验证。

Acceptance Criteria(验收标准)

  • asc-devkit 样例目录中新增 SIMD VF printf / dump 调测样例工程。
  • 样例可独立完成配置、编译、运行和结果校验。
  • README 或样例说明中明确使用场景、编译运行步骤、预期输出和限制条件。
  • 样例语义与已有接口能力开发需求解耦,不将接口能力需求误归并为样例补充需求。
likedislike
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 添加了label:requirement
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 关联了里程碑:Ascend C Release Plan 2026Q2
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 将 ApeiriaNode_Booker 设为负责人
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 将 ChenZhoujie 设为负责人
CChenZhoujie成员
5月26日 关联了pull request:add simd_vf printf/dump example
CChenZhoujie成员
5月26日 删除了关联的pull request:add simd_vf printf/dump example
CChenZhoujie成员
5月26日 关联了pull request:add simd_vf printf/dump example
CANN-robotCANN-robot成员
5月28日 关闭了 issue
CANN-robotCANN-robot成员
5月28日 添加了label:resolved