已开启
[Knowledge-Request|知识需求]: Ascend C 内核调试、平台映射、编译迁移等 20 张知识卡(来源 asc-devkit) #66
flyingXLB创建于  6 天前
flyingXLB
flyingXLB
6 天前 创建

Scenario / 使用场景

用 asc-devkit 仓的官方文档与内核调试参考资料,为 cannbot-knowledge 补齐 Ascend C 在内核调试、平台标识映射、编译/迁移、存储层次与术语方面缺失的可复用结论。这些内容来自本地 asc-devkit 仓(docs/zh/** 与 .agent/skills/** 的参考资料),在实际算子开发中反复被用于定位"接口支持面判断错误""编译期限制不清""软仿通过但上板失败""平台取值对不上"等问题,目前知识库中缺少成体系的入口。

Domain / 所属领域

common / 通用知识;ops / 算子开发;runtime / 运行时

Technology or scope / 技术或作用域

Ascend C(含 AI CPU 侧调试接口与 CANN 运行时目标架构选择)

Query attempt / 已尝试的检索

写卡前逐主题用 knowledge-query 检索并阅读候选卡,例如:

  • AscendC printf 没有输出 排查(platform 950)→ 命中 ops/ascendc/runbooks/compilation/kernel_printf_header_missing_error_swallowed、ops/ascendc/runbooks/runtime/printf_perturbs_timing_verify_without_printf 等个案卡,但缺少按症状组织的统一诊断入口(票据/开关/容量/路径五步)。
  • 调试接口 平台 支持 printf assert dump 矩阵 → 只命中单接口 API 卡,缺少"目标平台 × 编程模式 × 可用调试接口"的路由矩阵。
  • 芯片 产品名 NpuArch 架构 映射 别名、数据类型 简称 平台 支持 矩阵 → common/platforms/ 下无对应概念卡,平台取值只能靠散落个案反推。
  • L1 L0A L0B L0C 存储结构 数据通路、Cube 分形 ZN NZ 布局 → 仅 Triton 侧有同类描述,Ascend C 侧缺概念卡(且 DSL 隔离要求不能互推)。
  • AI CPU 调试接口 assert printf 边界 → 只命中 AI CPU 的 API 卡与 reference 契约卡,缺少"与 Kernel 侧同名接口如何区分"的边界说明。

Expected knowledge / 期望补充的知识

新增 20 张知识卡(common/platforms、common/glossaries、common/toolchains、ops/ascendc/{runbooks,concepts,optimizations}、runtime/runbooks),落到 8 个可独立评审的 PR:

  1. Kernel 调试与诊断 Runbook(6 张):printf 无输出、asc_dump 数据不可信、assert/__trap 选型与失败诊断、调试接口平台×模式路由矩阵、clock/asc_time_stamp 周期测量、AI CPU 侧调试接口边界。
  2. 平台映射与术语体系(5 张):芯片统一调用名与 NpuArch 映射、API 文档产品标签到 platforms 取值、内存与执行术语表、SIMT/RegBase 术语表、SIMD/SIMT 混合编程边界。
  3. 编译侧 Runbook(2 张):Device 侧 C++ 标准与语法限制、废弃接口识别与替换。
  4. 架构迁移与精度 Runbook(2 张):2201→3510 迁移检查清单、Reg 矢量硬件与软仿精度差异。
  5. Cube 存储层次概念(2 张):L1/L0A/L0B/L0C 结构与通路、分形与 ZN/NZ 布局。
  6. Reg 矢量指令发射与理论吞吐口径(1 张)。
  7. dtype 视图与平台支持范围(1 张)。
  8. 目标架构与构建环境选择依据(1 张)。

验收场景:在 Ascend 950 平台上,用"kernel printf 没有输出怎么办"这一真实问题检索,应能命中按症状组织的诊断卡并从正文确认平台/模式支持面、dump 开关、FIFO 容量与执行路径四类判据;用"某产品名对应哪个 platforms 取值"提问,应能命中平台标签映射卡并确认"文档标签 ≠ 实机支持面"的处理方式。所有卡片通过全库 knowledge_lint --strict-navigation(P0=0)与 sync-indexes --check(stale=0),检索质量门禁保持在 recall@k ≥ 0.54 / MRR ≥ 0.45。

Candidate sources / 候选来源

  • asc-devkit 官方文档树 docs/zh/**(对应已登记本地归档来源根 cann-docs-raw/asc-devkit/docs/zh/)。
  • asc-devkit 仓 .agent/skills/** 的内核调试、架构与构建参考资料,引用固定到 40 位 commit https://gitcode.com/cann/asc-devkit/blob/e680c34c09ba6919b3cebd2b7ec027f4ff6f0f22/...。

Checklists / 提交确认

likedislike
flyingXLBflyingXLB
6 天前 关联了pull request:feat(knowledge): 新增 Ascend C Kernel 调试与诊断 Runbook 6 张
flyingXLBflyingXLB
6 天前 关联了pull request:feat(knowledge): 新增平台标识映射、核心术语表与 SIMD/SIMT 混合编程边界 5 张
flyingXLBflyingXLB
6 天前 关联了pull request:feat(knowledge): 新增 Device 侧 C++ 标准限制与废弃接口替换 Runbook
flyingXLBflyingXLB
6 天前 关联了pull request:feat(knowledge): 新增 2201→3510 迁移检查清单与 Reg 矢量软硬仿精度差异 Runbook
flyingXLBflyingXLB
6 天前 关联了pull request:feat(knowledge): 新增 Cube 侧存储结构与分形布局概念卡
flyingXLBflyingXLB
6 天前 关联了pull request:feat(knowledge): 新增 Reg 矢量指令发射能力与理论吞吐口径优化卡
flyingXLBflyingXLB
6 天前 关联了pull request:feat(knowledge): 新增 AscendC 数据类型视图与平台支持范围概念卡
flyingXLBflyingXLB
6 天前 关联了pull request:feat(knowledge): 新增目标架构与构建环境选择依据概念卡