Merged
fix(knowledge): 将 AI CPU 调试接口边界卡从 runtime 迁至 contrib/ascendc #192
fix(knowledge): 将 AI CPU 调试接口边界卡从 runtime 迁至 contrib/ascendc #192
Merged
bianqueAdd on 7 days ago
Total: 7 files changed+21-12
@@ -2,4 +2,4 @@
2 2 
3- [性能优化与测量](performance/index.md):覆盖优化 Playbook 以及 Kernel `clock`/`asc_time_stamp` 测量诊断。3- [性能优化与测量](performance/index.md):覆盖优化 Playbook 以及 Kernel `clock`/`asc_time_stamp` 测量诊断。
4 4 
5-- [运行时诊断](runtime/index.md):共 4 张知识卡(如 asc_dump 数据不可信诊断:四项核对与最小验证、Kernel 侧 assert 与 __trap 选型及失败诊断、Kernel 调试接口路由矩阵:症状 × 目标平台与编程模式 等)。5+- [运行时诊断](runtime/index.md):共 5 张知识卡(如 asc_dump 数据不可信诊断:四项核对与最小验证、Kernel 侧 assert 与 __trap 选型及失败诊断、Kernel 调试接口路由矩阵:症状 × 目标平台与编程模式、AI CPU 侧调试接口边界 等)。
Rknowledge/runtime/runbooks/runtime/aicpu_debug_interface_boundaries.md→knowledge/contrib/ascendc/runbooks/runtime/aicpu_debug_interface_boundaries.md+3-3
@@ -120,6 +120,6 @@ platforms:
120 120 
121## 与相邻卡的分工121## 与相邻卡的分工
122 122 
123-- 接口事实(原型、参数、格式表、支持矩阵、逐接口约束)归镜像卡 [assert(AI CPU API)](../../../ops/ascendc/apis/ai_cpu_api/assert.md)、[printf(AI CPU API)](../../../ops/ascendc/apis/ai_cpu_api/printf.md)、[DataStoreBarrier](../../../ops/ascendc/apis/ai_cpu_api/data_store_barrier.md);本卡不重复它们的参数表,只给三条接口作为**一个集合**的使用边界。123+- 接口事实(原型、参数、格式表、支持矩阵、逐接口约束)归镜像卡 [assert(AI CPU API)](../../../../ops/ascendc/apis/ai_cpu_api/assert.md)、[printf(AI CPU API)](../../../../ops/ascendc/apis/ai_cpu_api/printf.md)、[DataStoreBarrier](../../../../ops/ascendc/apis/ai_cpu_api/data_store_barrier.md);本卡不重复它们的参数表,只给三条接口作为**一个集合**的使用边界。
124-- 固定 reference 的调用合同与版本边界归 [assert(AI CPU API):固定 reference 调用约束](../../../ops/ascendc/guides/diagnostics/aicpu_assert_reference_contract.md) 与 [printf(AI CPU API):固定 reference 调用约束](../../../ops/ascendc/guides/diagnostics/aicpu_printf_reference_contract.md);本卡在其上补调用域、Dump 预算、与 AI Core 侧的对照以及 DataStoreBarrier 的配对要求。124+- 固定 reference 的调用合同与版本边界归 [assert(AI CPU API):固定 reference 调用约束](../../../../ops/ascendc/guides/diagnostics/aicpu_assert_reference_contract.md) 与 [printf(AI CPU API):固定 reference 调用约束](../../../../ops/ascendc/guides/diagnostics/aicpu_printf_reference_contract.md);本卡在其上补调用域、Dump 预算、与 AI Core 侧的对照以及 DataStoreBarrier 的配对要求。
125-- AI Core 侧的调测接口路由归 [Kernel 调试接口路由矩阵:症状 × 目标平台与编程模式](../../../contrib/ascendc/runbooks/runtime/kernel_debug_api_platform_mode_matrix.md)——它明确把 AI CPU 侧排除在外,本卡正是它的 AI CPU 补集;Kernel 侧同名接口的事实见 [printf(tuning interface)](../../../ops/ascendc/apis/utils_api/tuning_interface/printf.md) 与 [assert(tuning interface)](../../../ops/ascendc/apis/utils_api/tuning_interface/assert.md)。125+- AI Core 侧的调测接口路由归 [Kernel 调试接口路由矩阵:症状 × 目标平台与编程模式](kernel_debug_api_platform_mode_matrix.md)——它明确把 AI CPU 侧排除在外,本卡正是它的 AI CPU 补集;Kernel 侧同名接口的事实见 [printf(tuning interface)](../../../../ops/ascendc/apis/utils_api/tuning_interface/printf.md) 与 [assert(tuning interface)](../../../../ops/ascendc/apis/utils_api/tuning_interface/assert.md)。
@@ -3,4 +3,5 @@
3- [asc_dump 数据不可信诊断:四项核对与最小验证](kernel_asc_dump_data_untrusted_diagnosis.md):asc_dump 数据不可信时,先核对地址空间、模板类型、元素数和起始地址;区分有效数据的 32B 对齐估算与每核、单次及 VF 容量约束,再用已知长度的小数组复验。3- [asc_dump 数据不可信诊断:四项核对与最小验证](kernel_asc_dump_data_untrusted_diagnosis.md):asc_dump 数据不可信时,先核对地址空间、模板类型、元素数和起始地址;区分有效数据的 32B 对齐估算与每核、单次及 VF 容量约束,再用已知长度的小数组复验。
4- [Kernel 侧 assert 与 __trap 选型及失败诊断](kernel_assert_and_trap_failure_diagnosis.md):在 AscendC Kernel 中选择 assert/ascendc_assert 或 __trap;先核对失败是否归属目标断言,再区分标准上下文和可选消息缺失,以确定失败输入验证断言链路并保留 Trap 前的证据。4- [Kernel 侧 assert 与 __trap 选型及失败诊断](kernel_assert_and_trap_failure_diagnosis.md):在 AscendC Kernel 中选择 assert/ascendc_assert 或 __trap;先核对失败是否归属目标断言,再区分标准上下文和可选消息缺失,以确定失败输入验证断言链路并保留 Trap 前的证据。
5- [Kernel 调试接口路由矩阵:症状 × 目标平台与编程模式](kernel_debug_api_platform_mode_matrix.md):把"症状 → 该用哪个 Kernel 调试接口 → 在目标平台/编程模式是否可用"做成一张可执行的路由表,覆盖 printf、assert/ascendc_assert、__trap、asc_dump、clock、asc_time_stamp,并给出"主要为 SIMD 不等于所有形式可用""API 支持不等于当前调用场景可运行"两条判定规则。5- [Kernel 调试接口路由矩阵:症状 × 目标平台与编程模式](kernel_debug_api_platform_mode_matrix.md):把"症状 → 该用哪个 Kernel 调试接口 → 在目标平台/编程模式是否可用"做成一张可执行的路由表,覆盖 printf、assert/ascendc_assert、__trap、asc_dump、clock、asc_time_stamp,并给出"主要为 SIMD 不等于所有形式可用""API 支持不等于当前调用场景可运行"两条判定规则。
6+- [AI CPU 侧调试接口边界(assert / printf / DataStoreBarrier)](aicpu_debug_interface_boundaries.md):区分 AI CPU 的 assert、printf、DataStoreBarrier 与 AI Core 同名接口;核对异构调用域、每核单次 Dump 预算和写可见性,并用来源中的读侧同步示例排查问题。
6- [Kernel printf 无输出诊断](kernel_printf_no_output_diagnosis.md):按平台与模式、头文件与命名空间、dump 开关、容量及执行路径五类原因排查 AscendC::printf 无输出,再用短字符串复验。7- [Kernel printf 无输出诊断](kernel_printf_no_output_diagnosis.md):按平台与模式、头文件与命名空间、dump 开关、容量及执行路径五类原因排查 AscendC::printf 无输出,再用短字符串复验。
@@ -1,6 +1,5 @@
1# Runtime 知识1# Runtime 知识
2 2 
3-CANN Runtime 领域入口,包含主机侧 API 和问题处置手册。3+CANN Runtime 领域入口,包含主机侧 API。
4 4 
5- [Runtime API](apis/index.md):设备、Context、Stream、Event、内存、执行和模型运行实例等接口的语义、约束与来源。5- [Runtime API](apis/index.md):设备、Context、Stream、Event、内存、执行和模型运行实例等接口的语义、约束与来源。
6-- [问题处置手册](runbooks/index.md):共 1 张知识卡,分布在 1 个子目录(runtime)。
@@ -1,3 +0,0 @@
1-# 问题处置手册
2- 
3-- [运行时诊断](runtime/index.md):AI CPU 调试接口的异构调用、输出预算与写可见性诊断。
@@ -1,3 +0,0 @@
1-# 运行时诊断
2- 
3-- [AI CPU 侧调试接口边界(assert / printf / DataStoreBarrier)](aicpu_debug_interface_boundaries.md):区分 AI CPU 的 assert、printf、DataStoreBarrier 与 AI Core 同名接口;核对异构调用域、每核单次 Dump 预算和写可见性,并用来源中的读侧同步示例排查问题。
@@ -0,0 +1,15 @@
1+# 2026-10-31
2+ 
3+## [16:43] fix | 将 AI CPU 调试接口边界 Runbook 从 runtime 迁至 contrib/ascendc
4+ 
5+### Summary
6+ 
7+修复 PR #158 中 `aicpu_debug_interface_boundaries.md` 被误放至 `knowledge/runtime/runbooks/runtime/` 的路径错误,将其迁移到 AscendC 运行时诊断目录 `knowledge/contrib/ascendc/runbooks/runtime/`。
8+ 
9+### Details
10+ 
11+- 该卡描述 AI CPU 侧 `assert`、`printf`、`DataStoreBarrier` 的调用域、Dump 预算与写可见性边界,属于 AscendC 调试诊断,与同目录的 Kernel 调试接口路由矩阵互为补集,不应归入 CANN Runtime 领域。
12+- `git mv` 迁移知识卡后,将正文中指向 `ops/ascendc/` 的 7 处相对链接由三级上跳改为四级上跳,将指向 Kernel 调试接口路由矩阵的链接改为同目录文件名。
13+- 同步 `contrib/ascendc/runbooks/runtime/index.md`(新增条目)与 `contrib/ascendc/runbooks/index.md`(卡片数 4→5)。
14+- 移除已空的 `knowledge/runtime/runbooks/`(含 `runtime/` 子目录)及其两级索引,并更新 `knowledge/runtime/index.md` 去掉「问题处置手册」条目。
15+- 未修改卡片正文事实、来源、平台范围与生命周期状态;无 `replaced_by` 引用指向该卡。