| Files | Last commit | Last update |
|---|---|---|
feat: 新增 dav_v516 架构编译构建工具与调试, ut适配等 Co-authored-by: yanjiang-treasure<yanjiangbao@hisilicon.com> # message auto-generated for no-merge-commit merge: !6514 merge master_main into master feat: 新增 dav_v516 架构编译构建工具与调试, ut适配等 Created-by: yanjiang-treasure Commit-by: yanjiang-treasure Merged-by: cann-robot Description: ## 描述 为 asc-devkit 新增 dav_v516(NPU_ARCH == 5162)架构的构建与调试支持: 构建工具:新增 ascend5162a.py 平台配置,适配 cmake 与 compile_op/ascendc_compile_v220 等编译脚本、ccec/platform_info 等基础设施,使 5162 架构可参与编译。 调试工具:新增 impl/utils/debug/npu_arch_5162/ 下的 dump/printf/类型转换工具头文件。 运行时:适配 asc_platform、ascendc_runtime、opbuild 等。 改动原因:支持 dav_v516(5162)架构的构建与调试能力。 改动方法:新增 5162 平台配置与调试头文件,并在构建脚本中并入 5162 架构分支。 改动影响: Device 行为变更 — Reduce 系列(影响 3510、9201、5102、3003、3113) reduce_common_ar_reuse_align_3510_impl.h:38 与 ...less_than_vl3510_impl.h:64:新增无架构 guard 的 if constexpr (vlSize > ONE_BLK_SIZE) 分支,vlSize ≤ ONE_BLK_SIZE 时由 LoadAlign 改为 LoadUnAlignPre+LoadUnAlign,只影响VL_size≤32B的架构,即只影响5162 Host tiling 变更 — WelfordFinalize(影响 3510、9201、5102、3003、3113) welfordfinalize_tiling_impl.cpp:43:reduceTmpSize 由硬编码 reduceK/64、按 128 对齐 → 改为基于 GetVecRegLen() 计算。仅当这些架构 GetVecRegLen()==256B 时数值等价,否则 tmp buffer 尺寸变化 编译产物变更、数值不变 — 浮点字面量 1.0→1.0f(仅常量初始化,无风险) API 面纯新增(不改变既有行为) 各 SOC 列表追加 ascend5162a/Ascend5162A(config.cmake、op_cfg_generator.h、asc_platform.h、ascendc_runtime.cpp、const_var.py、opdesc_parser.py)及 is_516r2() 门控的编译工具链 — 均为追加式,现有 SoC 路径不变 三、净零影响的架构 1001、3002、3102、5101、5161、5163、5165:所有涉及它们的改动均为条件列表追加 5162 或等价重写(defined() 补齐、格式化),编译语义逐 arch 验证不变 2002、2201:仅受第 3 条字面量改动影响(数值等价) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 本地执行 build.sh 完成全量编译与打包,成功生成 cann-asc-devkit_9.3.0_linux-aarch64.run, 执行ut测试。 ## 文档更新 无文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6514 | 29 days ago | |
refactor:重构include下除basic_api的代码 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4277 merge br_codestyle_include into master refactor:重构include下除basic_api的代码 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改include下的代码格式,使其符合clang-format规范。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4277 | 3 months ago | |
feat: 5162新增Conv/MatMul算子相关基础API支持 Co-authored-by: yanjiang-treasure<yanjiangbao@hisilicon.com> # message auto-generated for no-merge-commit merge: !6635 merge feat_conv_api into master feat: 5162新增Conv/MatMul算子相关基础API支持 Created-by: yanjiang-treasure Commit-by: yanjiang-treasure Merged-by: cann-robot Description: ## 描述 1、根据评审要求,dav_v516修改为dav_5162 目录规整(114 文件,+121/-120) 按评审要求把 dav_v516 目录整体重命名为 dav_5162,并同步三处工程配置: - classify_rule.yaml:新增 impl/**/dav_5162/*.h 归属规则; - impl/basic_api/CMakeLists.txt:170:安装软链路径改名; - 114 个 impl/include 头文件的 include 路径。 纯机械变更,不涉及语义。 2、修复上个提交遗留问题 - dav_5162/kernel_operator_common_impl.h:删除 GetStoreAtomicConfigImpl() 中 ASCENDC_ASSERT(false) 之后残留的不支持指令 get_st_atomic_cfg()(该 arch 无此指令); - 两份 516r2 编译命令生成器(tools/build/.../adapter/、asc_op_compiler/ascendc_compile_v220.py):5162只支持 -mllvm -cce-aicore-function-stack-size=0x4000;修正 "cce-simd-vf-fusion=true" → "--cce-simd-vf-fusion=true",删除无效的vl大小配置选项,修复选项名称before拼写错误befor。 3、feat: 5162新增Conv/MatMul算子相关基础API支持 (a)Conv/Mmad 宏指令 —— 新增能力(1396 行新文件) - 新增 dav_5162/kernel_operator_macro_impl.h(774) 与 kernel_operator_macro_bitmode_impl.h(622):SetConvKernel/SetConvFMatrix(+StepPos/Dual0/Dual1)/SetConvPadding/SetConvStride/SetMatrixPara/SetFixPipeConfig/SetFixPipeReluAlpha/SetFixPipeAddr/SetItaMaxAddr/SetMxBufAddr,以及 Convolution/ConvFix/MmadFix/MmadMxFix 执行体;相较 5161 版本增加字段掩码(& 0x1ff/& 0xff/& 0xfff)与 paddingValue 按 b16/b8/b4 打包。 - 指令名切到 5162 的 set_m_* 系列(如 set_m_fmatrix、set_m_padding、set_m_clip_relu、set_m_quant_pre、set_m_elt_src_para、set_m_fpc)。 - ConvFixCal/MmadFixCal/MmadMxFixCal 由显式模板实参改为参数推导;ConvFix 增加 bias tensor 位置校验(L0C/BIAS)。 - 架构白名单扩展到 5162:kernel_operator_macro_intf.h、kernel_operator_macro_bitmode_intf.h、kernel_operator_macro_base_impl.h、kernel_operator_macro_bitmode_struct.h、kernel_struct_macro.h,并按 arch 分派到 dav_5162/ 实现。 (b)Fixpipe —— 由"L0C 基"重写为"L1 基" - dav_5162/kernel_operator_fixpipe_impl.h:删除 808 行 Arch3510 风格 L0C 实现(FixpipeL0C2L1/2UB/2GM、FixpipeTiling、CopyReluTensorToFbuf、IsVector/ScalarQuantMode 等),新增 FixpipeL1ToL1/ToUb/ToOut + FixpipeL12L1Impl/L12UbImpl/L12GmImpl + CheckFixpipeParams(仅允许 b8/b16,src/dst 同类型),底层用 fix_cbuf_to_cbuf/ubuf/gm,支持 ROW_MAJOR(NZ2ND)/COLUMN_MAJOR(NZ2DN)/NORMAL_DMA 三种搬运模式。 - 公共结构:kernel_struct_fixpipe.h 新增 FixpipeParamsV516(nSize/mSize/srcStride/dstStride + nz2nd 用 ndNum/srcNdStride/dstNdStride),FixpipeConfig 对 5162 开放 isToUB、enableFixVal(含 CFG_NZ_FIX)。 - 配置类 API(5162 专属,kernel_operator_fixpipe_intf.h + fixpipe_intf_impl.h):SetFixPipeClipRelu(FixpipeClipReluParams<T1,T2>)、SetFixPipeConfig(uint64_t)、SetFixpipePreQuantFlag(FixPipePreQuantParams<T>)、SetFixpipePostQuant(FixPipePostQuantParams)、SetFixpipeEltAntiq(FixPipeEltAntiqParams<T>)、SetFixpipeEltwiseAddr(uint64_t / FixpipeEltwiseAddrParams);SetFixpipeNz2ndFlag 对 5162 采用 uint32_t dstNdStride 形态。 - 参数结构体与 eltwise_antiq_t(8 种 int8/int4/uint8/int16 标量/向量反量化 + S32 预量化 + NO_ANTIQ)落在 impl/basic_api/utils/kernel_utils_struct_dma_params.h(+141)。 - Nz2NdParams、CANN_ASC_ENABLE_POST_PROC_BUF/SID 等宏对 5162 打开。 (c)MatMul / LoadData —— 5162 通路补齐 - dav_5162/kernel_operator_mm_impl.h(205/296):新增 LoadData2DGM2L0BCal、LoadData2DL12L1Cal、L1→L0A/L0B 转置载入;删除不适用的 LoadData2DL12L0BTransposeCal 旧重载;Load3DSetFMatrixCal/BCal 由直传寄存器改为位域组装。 - 共享层为 5162 开放:LoadData(GM→L1/L0B + Nd2Nz)、LoadData 2D/3D BitMode(Load2D/Load3DBitModeParam)、MX 载入(LoadData2DMxParams)、LoadDataWithStride、SetFmatrix(SetFMatrixBitModeParams, FmatrixMode)、SetLoadDataRepeatWithStride;LoadData 中 5162 新增 L0B 分支。 - GatherMask(reg_compute)增加 5162 分支并接入 reg_compute/dav_5162 实现。 (d)DataCopy —— 5162 适配与清理 - dav_5162/kernel_operator_data_copy_impl.h(46/54):L1→FB 走 uint64_t 物理地址形态;sizeof(T)==8/4/2/1 改为 B64/B32/B16/B8_BYTE_SIZE 常量;srcStride310/dstStride310 → actSrcStride/actDstStride;删除未使用的 ValidateUbL1Address;新增 FIX_VAL 默认值常量。 - kernel_struct_data_copy.h、kernel_operator_data_copy_intf_impl.h 对 5162 打开 POST_PROC_BUF/SID 与 L12FB 分支。 ## 关联的Issue NA ## 测试 ut测试 ,本地打包测试,5162 Conv算子测试 ## 文档更新 NA ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6635 | 24 days ago | |
bugfix:修复bfloat162e1m2x2及bfloat162e2m1x2传参问题 Co-authored-by: yiming0671<zhangyiming69@huawei.com> # message auto-generated for no-merge-commit merge: !6724 merge master into master bugfix:修复bfloat162e1m2x2及bfloat162e2m1x2传参问题 Created-by: yiming0671 Commit-by: yiming0671 Merged-by: cann-robot Description: ## 描述 1、修复bfloat162e1m2x2及bfloat162e2m1x2传参问题。 2、对_merge接口需求进行澄清,去除多余接口。 3、废弃接口置于文件末尾。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6724 | 23 days ago | |
feat(simt): adapt SIMT API for dav-9201 Co-authored-by: liuyi424<liuyi424@huawei.com> # message auto-generated for no-merge-commit merge: !6506 merge feat/simt-api-dav-9201 into master feat(simt): adapt SIMT API for dav-9201 Created-by: liuyi424 Commit-by: liuyi424 Merged-by: cann-robot Description: ## 描述 将 dav-9201/9202 的 SIMT API 适配迁移至本仓: 1. include/simt_api 与 impl/simt_api 下各头文件/实现的架构守卫由 (__NPU_ARCH__ == 3510) || (__NPU_ARCH__ == 5102) 扩展为包含 9201/9202(覆盖 math/cast/atomic/warp/sync/print/common/vector 等模块及 cpp/dav_3510 的 SIMT C++ 实现) 2. 新增 9201/9202 的 fp8 e8m0/e6m2 转换 API(asc_fp8.h/asc_fp8_impl.h,9202 额外提供 half2 互转的饱和模式变体) 3. 新增 fp4 e1m2/e2m1 转换 API(新文件 asc_fp4.h/asc_fp4_impl.h,9201 起支持;9202 提供 hmul2 融合转换) 4. common_functions.h 中 SPLIT_CORE_VEC 与 SIMT printf 路径使能 9201/9202;asc_printf.h/asc_assert.h/asc_time.h 的 SIMT 调试路径守卫扩展 5. 新增 ascend960dt(dav-9201)SIMT UT:tests/api/simt_api/ascendc_case_ascend960dt_simt,以 mock 内建方式验证 fp4/fp8 转换 API 封装,并接入 UT 框架(产品形态 ascend960dt ↔ __NPU_ARCH__=9201) ## 关联的Issue 无 ## 测试 - bisheng 编译验证(3510/9201 × pure-simt 模式)全部通过: - 全量 SIMT 头文件编译 TU(含 asc_fp4/asc_fp8) - 9201 SIMT 冒烟 kernel(math/atomic/bf16/fp16/warp/sync/printf) - 9201 fp8/fp4 新 API 声明、实现与调用(__simt_vf__ 函数内) - 新增 UT 本地运行通过:ascend960dt 目标 4 个用例(Fp4E1m2/Fp4E2m1/Fp8E8m0/Fp8E6m2 EncapsulationTest)全部 PASSED ## 文档更新 无(仅头文件、实现与测试代码) ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6506 | 30 days ago | |
add include warning for tensor api vector Co-authored-by: 李星悦<lixingyue@hisilicon.com> # message auto-generated for no-merge-commit merge: !6742 merge tensor_warn into master add include warning for tensor api vector Created-by: li-xingyue-lxy Commit-by: 李星悦 Merged-by: cann-robot Description: ## 描述 tensor api vector侧统一刷新头文件编译告警 ## 关联的Issue https://gitcode.com/cann/asc-devkit/issues/1316 ## 测试 自验证 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6742 | 23 days ago | |
feat: 新增 dav_v516 架构编译构建工具与调试, ut适配等 Co-authored-by: yanjiang-treasure<yanjiangbao@hisilicon.com> # message auto-generated for no-merge-commit merge: !6514 merge master_main into master feat: 新增 dav_v516 架构编译构建工具与调试, ut适配等 Created-by: yanjiang-treasure Commit-by: yanjiang-treasure Merged-by: cann-robot Description: ## 描述 为 asc-devkit 新增 dav_v516(NPU_ARCH == 5162)架构的构建与调试支持: 构建工具:新增 ascend5162a.py 平台配置,适配 cmake 与 compile_op/ascendc_compile_v220 等编译脚本、ccec/platform_info 等基础设施,使 5162 架构可参与编译。 调试工具:新增 impl/utils/debug/npu_arch_5162/ 下的 dump/printf/类型转换工具头文件。 运行时:适配 asc_platform、ascendc_runtime、opbuild 等。 改动原因:支持 dav_v516(5162)架构的构建与调试能力。 改动方法:新增 5162 平台配置与调试头文件,并在构建脚本中并入 5162 架构分支。 改动影响: Device 行为变更 — Reduce 系列(影响 3510、9201、5102、3003、3113) reduce_common_ar_reuse_align_3510_impl.h:38 与 ...less_than_vl3510_impl.h:64:新增无架构 guard 的 if constexpr (vlSize > ONE_BLK_SIZE) 分支,vlSize ≤ ONE_BLK_SIZE 时由 LoadAlign 改为 LoadUnAlignPre+LoadUnAlign,只影响VL_size≤32B的架构,即只影响5162 Host tiling 变更 — WelfordFinalize(影响 3510、9201、5102、3003、3113) welfordfinalize_tiling_impl.cpp:43:reduceTmpSize 由硬编码 reduceK/64、按 128 对齐 → 改为基于 GetVecRegLen() 计算。仅当这些架构 GetVecRegLen()==256B 时数值等价,否则 tmp buffer 尺寸变化 编译产物变更、数值不变 — 浮点字面量 1.0→1.0f(仅常量初始化,无风险) API 面纯新增(不改变既有行为) 各 SOC 列表追加 ascend5162a/Ascend5162A(config.cmake、op_cfg_generator.h、asc_platform.h、ascendc_runtime.cpp、const_var.py、opdesc_parser.py)及 is_516r2() 门控的编译工具链 — 均为追加式,现有 SoC 路径不变 三、净零影响的架构 1001、3002、3102、5101、5161、5163、5165:所有涉及它们的改动均为条件列表追加 5162 或等价重写(defined() 补齐、格式化),编译语义逐 arch 验证不变 2002、2201:仅受第 3 条字面量改动影响(数值等价) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 本地执行 build.sh 完成全量编译与打包,成功生成 cann-asc-devkit_9.3.0_linux-aarch64.run, 执行ut测试。 ## 文档更新 无文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6514 | 29 days ago | |
refactor:重构include下除basic_api的代码 Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !4277 merge br_codestyle_include into master refactor:重构include下除basic_api的代码 Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改include下的代码格式,使其符合clang-format规范。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> compile ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [x] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!4277 | 3 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 29 days ago | ||
| 3 months ago | ||
| 24 days ago | ||
| 23 days ago | ||
| 30 days ago | ||
| 23 days ago | ||
| 29 days ago | ||
| 3 months ago |