API 目录映射表

本表基于当前仓内 include/impl/tests/api/ 的实际目录扫描整理,用于生成或补齐 UT 前定位 API 类别、实现目录和测试目录。新增 API 时先按本表定位,再回到目标 API 的声明、实现、已有同类 UT 和 CMakeLists.txt 确认具体文件名与构建目标。

使用规则

  • 不要只按 API 名推断测试目录;先确认 API 声明所在目录,再映射到实现目录和 UT 目录。
  • tests/api/common/tests/api/*/stub/tests/api/basic_api/common/tests/api/simt_api/common_simt/ 是测试支撑目录,不是独立 API 类别。
  • tests/api/basic_api/ascendc_header_checker/ 是头文件编译检查目录,不是普通功能 UT 目录。
  • include/basic_api/reg_compute/ 的 UT 目录是 tests/api/reg_compute_api/,不要放进 tests/api/basic_api/

顶层映射

API 类别 声明目录 实现目录 UT 测试目录 说明
高阶 API (adv) include/adv_api/ impl/adv_api/detail/, impl/adv_api/tiling/ tests/api/adv_api/ 覆盖算子功能 UT、tiling UT 和 api_check UT。impl/adv_api/cmake/ 是构建辅助目录,不作为 API 实现目录。
高阶 API 参数/合法性检查 include/adv_api/ impl/adv_api/detail/api_check/kernel_check/ tests/api/adv_api/api_check/ 属于高阶 API 的检查分支,目录结构与功能 UT 并行。
membase 基础 API - AIV/AIC/common/framework (aiv, aic) include/basic_api/, include/basic_api/core_mng/, include/basic_api/op_frame/ impl/basic_api/dav_*, impl/basic_api/utils/ tests/api/basic_api/ascendc_case_* 排除 include/basic_api/reg_compute/。按芯片、AIV/AIC/framework/basic 子目录拆分。
regbase 基础 API (reg) include/basic_api/reg_compute/ impl/basic_api/reg_compute/ tests/api/reg_compute_api/ 当前有 ascendc_case_ascend950pr_9599_reg_compute/
C API (c_api) include/c_api/ impl/c_api/instr_impl/npu_arch_2201/, impl/c_api/instr_impl/npu_arch_3510/ tests/api/c_api/npu_arch_2201/, tests/api/c_api/npu_arch_3510/ AIC/AIV 由 CMake 按产品目标拆分;tests/api/c_api/stub/ 为支撑目录。
C API register 子类 include/c_api/reg_compute/ impl/c_api/instr_impl/npu_arch_3510/vector_datamove_impl/reg_load/, impl/c_api/instr_impl/npu_arch_3510/vector_datamove_impl/reg_store/, 以及相关 vector_compute_impl/*_reg_impl.h tests/api/c_api/npu_arch_3510/vector_datamove/, tests/api/c_api/npu_arch_3510/vector_compute/;2201 现有 reg 相关用例在 tests/api/c_api/npu_arch_2201/vector_compute/ 这是 C API 内部 register 风格接口,不等同于 tests/api/reg_compute_api/
SIMT API (simt) include/simt_api/, include/simt_api/cpp/ impl/simt_api/cpp/dav_3510/ tests/api/simt_api/ascendc_case_ascend950pr_9599_simt/, tests/api/simt_api/math* common_simt/ 是共用测试支撑目录。默认 CMake 初始化产品为 ascend950pr_9599
工具类 API (utils) include/utils/ impl/utils/ tests/api/utils/ 包含 context、debug、std、tiling、stub 等子类;tests/api/utils/std/tests/api/utils/tiling/ 有独立 CMake。
AICPU API include/aicpu_api/ impl/aicpu_api/ tests/api/aicpu_api/ 独立于当前 asc-api-ut-gen 默认 API 类型。

高阶 API 子目录映射

子类 声明目录 实现目录 UT 目录 备注
activation include/adv_api/activation/ impl/adv_api/detail/activation/, impl/adv_api/detail/api_check/kernel_check/activation/ tests/api/adv_api/activation/, tests/api/adv_api/api_check/activation/ softmax 还含 membase/regbase 细分实现。
conv include/adv_api/conv/ impl/adv_api/detail/conv/, impl/adv_api/tiling/conv/ tests/api/adv_api/tiling/conv/ 当前扫描未发现 tests/api/adv_api/conv/ 功能 UT 目录。
conv_backprop include/adv_api/conv_backprop/ impl/adv_api/detail/conv_backprop/, impl/adv_api/tiling/conv_backprop/ tests/api/adv_api/tiling/conv_backprop/ 当前扫描未发现 tests/api/adv_api/conv_backprop/ 功能 UT 目录。
cube_group include/adv_api/cube_group/ 未发现独立 impl/adv_api/detail/cube_group/ 未发现独立 UT 目录 生成 UT 前需回查调用方或同类 API。
filter include/adv_api/filter/ impl/adv_api/detail/filter/, impl/adv_api/detail/api_check/kernel_check/filter/, impl/adv_api/tiling/filter/ tests/api/adv_api/filter/, tests/api/adv_api/api_check/filter/ api_check 下当前目录名为 droupout
hccl include/adv_api/hccl/ impl/adv_api/detail/hccl/, impl/adv_api/tiling/hccl/ tests/api/adv_api/hccl/ 含 internal/common/platform 实现。
hcomm include/adv_api/hcomm/ impl/adv_api/detail/hcomm/ tests/api/adv_api/hcomm/ 含 common/platform 实现。
index include/adv_api/index/ impl/adv_api/detail/index/, impl/adv_api/detail/api_check/kernel_check/index/, impl/adv_api/tiling/index/ tests/api/adv_api/index/, tests/api/adv_api/api_check/index/ 当前主要子类为 arithprogression
math include/adv_api/math/ impl/adv_api/detail/math/, impl/adv_api/detail/api_check/kernel_check/math/, impl/adv_api/tiling/math/ tests/api/adv_api/math/, tests/api/adv_api/api_check/math/ 覆盖 unary/binary/logical/bitwise 等大量子类。
matmul include/adv_api/matmul/ impl/adv_api/detail/matmul/, impl/adv_api/tiling/matmul/ tests/api/adv_api/matmul/ 目录下还有 scheduler/resource/stage/param 等内部子目录。
normalization include/adv_api/normalization/ impl/adv_api/detail/normalization/, impl/adv_api/detail/api_check/kernel_check/normalization/, impl/adv_api/tiling/normalization/ tests/api/adv_api/normalization/, tests/api/adv_api/api_check/normalization/ layernorm/layernormgrad 存在 regbase 细分实现。
pad include/adv_api/pad/ impl/adv_api/detail/pad/, impl/adv_api/detail/api_check/kernel_check/pad/, impl/adv_api/tiling/pad/ tests/api/adv_api/pad/, tests/api/adv_api/api_check/pad/ 包含 broadcast/pad/unpad 等。
quantization include/adv_api/quantization/ impl/adv_api/detail/quantization/, impl/adv_api/detail/api_check/kernel_check/quantization/, impl/adv_api/tiling/quantization/ tests/api/adv_api/quantization/, tests/api/adv_api/api_check/quantization/ antiquant/dequant/quant 及 *ize 子类。
reduce include/adv_api/reduce/ impl/adv_api/detail/reduce/, impl/adv_api/detail/api_check/kernel_check/reduce/, impl/adv_api/tiling/reduce/ tests/api/adv_api/reduce/, tests/api/adv_api/api_check/reduce/ reduce_* 与 sum/mean 子类并存。
select include/adv_api/select/ impl/adv_api/detail/select/, impl/adv_api/detail/api_check/kernel_check/select/, impl/adv_api/tiling/select/ tests/api/adv_api/select/, tests/api/adv_api/api_check/select/ 当前主要子类为 selectwithbytesmask
sort include/adv_api/sort/ impl/adv_api/detail/sort/, impl/adv_api/detail/api_check/kernel_check/sort/, impl/adv_api/tiling/sort/ tests/api/adv_api/sort/, tests/api/adv_api/api_check/sort/ api_check 还包含 concat/extract/mrgsort。
transpose include/adv_api/transpose/ impl/adv_api/detail/transpose/, impl/adv_api/detail/api_check/kernel_check/transpose/, impl/adv_api/tiling/transpose/ tests/api/adv_api/transpose/, tests/api/adv_api/api_check/transpose/, tests/api/adv_api/api_check/transdata/ transdata 在 api_check 下是独立目录。
utils include/adv_api/utils/ impl/adv_api/detail/utils/, impl/adv_api/detail/api_check/kernel_check/utils/ tests/api/adv_api/utils/, tests/api/adv_api/api_check/utils/ 当前主要子类为 init_global_memory

基础 API 架构与 UT 目录

产品/目标 NPU_ARCH / 宏 实现目录 UT 目录
ascend910 __NPU_ARCH__=1001, __DAV_C100__ impl/basic_api/dav_c100/ tests/api/basic_api/ascendc_case_ascend910/
ascend310p __NPU_ARCH__=2002, __DAV_M200__ impl/basic_api/dav_m200/ tests/api/basic_api/ascendc_case_ascend310p/
ascend610 __NPU_ARCH__=2002, __DAV_M200__ impl/basic_api/dav_m200/ tests/api/basic_api/ascendc_case_ascend610/
ascend910B1 AIC __NPU_ARCH__=2201, __DAV_C220__, __DAV_C220_CUBE__ impl/basic_api/dav_c220/ tests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aic/
ascend910B1 AIV __NPU_ARCH__=2201, __DAV_C220__, __DAV_C220_VEC__ impl/basic_api/dav_c220/ tests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv/
ascend910B1 AIV MSTX __NPU_ARCH__=2201, __DAV_C220__, __DAV_C220_VEC__ impl/basic_api/dav_c220/ tests/api/basic_api/ascendc_case_ascend910b1/ascendc_case_ascend910b1_aiv_mstx/
ascend310B1 __NPU_ARCH__=3002, __DAV_M300__ impl/basic_api/dav_m300/ tests/api/basic_api/ascendc_case_ascend310b1/
ascend950pr_9599 AIC __NPU_ARCH__=3510, __DAV_C310__, __DAV_C310_CUBE__ impl/basic_api/dav_3510/ tests/api/basic_api/ascendc_case_ascend950pr_9599/ascendc_case_ascend950pr_9599_aic/
ascend950pr_9599 AIV basic __NPU_ARCH__=3510, __DAV_C310__, __DAV_C310_VEC__ impl/basic_api/dav_3510/ tests/api/basic_api/ascendc_case_ascend950pr_9599/ascendc_case_ascend950pr_9599_aiv_basic/
ascend950pr_9599 AIV framework __NPU_ARCH__=3510, __DAV_C310__, __DAV_C310_VEC__ impl/basic_api/dav_3510/ tests/api/basic_api/ascendc_case_ascend950pr_9599/ascendc_case_ascend950pr_9599_aiv_framework/
common/header check 多架构 impl/basic_api/, include/basic_api/ tests/api/basic_api/ascendc_case_common/, tests/api/basic_api/common/, tests/api/basic_api/ascendc_header_checker/

impl/basic_api/dav_l300/impl/basic_api/dav_l311/ 当前也被接口实现聚合头引用,但本次扫描未发现同名 tests/api/basic_api/ascendc_case_* 顶层 UT 目录;新增相关 UT 前必须先确认产品目标和 CMake 配置。

C API 子目录映射

C API 子类 声明目录 2201 实现/UT 3510 实现/UT
atomic include/c_api/atomic/ impl/c_api/instr_impl/npu_arch_2201/atomic_impl/; 当前实际 UT 目录为 tests/api/c_api/npu_arch_2201/simd_atomic/,但 CMake glob 写的是 npu_arch_2201/atomic/*.cpp,新增前需核对 impl/c_api/instr_impl/npu_arch_3510/atomic_impl/; tests/api/c_api/npu_arch_3510/atomic/
cache_ctrl include/c_api/cache_ctrl/ impl/c_api/instr_impl/npu_arch_2201/cache_ctrl_impl/; tests/api/c_api/npu_arch_2201/cache_ctrl/ impl/c_api/instr_impl/npu_arch_3510/cache_ctrl_impl/; tests/api/c_api/npu_arch_3510/cache_ctrl/
cube_compute include/c_api/cube_compute/ impl/c_api/instr_impl/npu_arch_2201/cube_compute_impl/; tests/api/c_api/npu_arch_2201/cube_compute/ impl/c_api/instr_impl/npu_arch_3510/cube_compute_impl/; tests/api/c_api/npu_arch_3510/cube_compute/
cube_datamove include/c_api/cube_datamove/ impl/c_api/instr_impl/npu_arch_2201/cube_datamove_impl/; tests/api/c_api/npu_arch_2201/cube_datamove/ impl/c_api/instr_impl/npu_arch_3510/cube_datamove_impl/; tests/api/c_api/npu_arch_3510/cube_datamove/
misc include/c_api/misc/ impl/c_api/instr_impl/npu_arch_2201/misc_impl/; 当前扫描未发现 tests/api/c_api/npu_arch_2201/misc/ impl/c_api/instr_impl/npu_arch_3510/misc_impl/; tests/api/c_api/npu_arch_3510/misc/
scalar_compute include/c_api/scalar_compute/ impl/c_api/instr_impl/npu_arch_2201/scalar_compute_impl/; tests/api/c_api/npu_arch_2201/scalar_compute/ impl/c_api/instr_impl/npu_arch_3510/scalar_compute_impl/; tests/api/c_api/npu_arch_3510/scalar_compute/
sync include/c_api/sync/ impl/c_api/instr_impl/npu_arch_2201/sync_impl/; tests/api/c_api/npu_arch_2201/sync/ impl/c_api/instr_impl/npu_arch_3510/sync_impl/; tests/api/c_api/npu_arch_3510/sync/
sys_var include/c_api/sys_var/ impl/c_api/instr_impl/npu_arch_2201/sys_var_impl/; tests/api/c_api/npu_arch_2201/sys_var/ impl/c_api/instr_impl/npu_arch_3510/sys_var_impl/; tests/api/c_api/npu_arch_3510/sys_var/
utils include/c_api/utils/ impl/c_api/instr_impl/npu_arch_2201/utils_impl/; tests/api/c_api/npu_arch_2201/utils/ impl/c_api/instr_impl/npu_arch_3510/utils_impl/; tests/api/c_api/npu_arch_3510/utils/
vector_compute include/c_api/vector_compute/ impl/c_api/instr_impl/npu_arch_2201/vector_compute_impl/; tests/api/c_api/npu_arch_2201/vector_compute/ impl/c_api/instr_impl/npu_arch_3510/vector_compute_impl/; tests/api/c_api/npu_arch_3510/vector_compute/
vector_datamove include/c_api/vector_datamove/ impl/c_api/instr_impl/npu_arch_2201/vector_datamove_impl/; tests/api/c_api/npu_arch_2201/vector_datamove/ impl/c_api/instr_impl/npu_arch_3510/vector_datamove_impl/; tests/api/c_api/npu_arch_3510/vector_datamove/
reg_compute headers include/c_api/reg_compute/ reg 相关 2201 现有用例在 tests/api/c_api/npu_arch_2201/vector_compute/ 3510 的 reg load/store 实现在 vector_datamove_impl/reg_load/vector_datamove_impl/reg_store/,UT 归入 vector_datamove/vector_compute/

工具类 API 子目录映射

子类 声明目录 实现目录 UT 目录
context include/utils/context/ impl/utils/context/ tests/api/utils/context/
debug include/utils/debug/ impl/utils/debug/, impl/utils/debug/npu_arch_*/ 当前扫描未发现独立 tests/api/utils/debug/ 目录,新增前需确认归类
std include/utils/std/ impl/utils/std/ tests/api/utils/std/
tiling include/utils/tiling/ impl/utils/tiling/ tests/api/utils/tiling/
base/log/stub include/utils/base/, include/utils/log/, include/utils/stub/ impl/utils/stub/ 或无独立实现 当前扫描未发现完全同名 UT 目录,按具体 API 和已有同类 UT 归类