| Files | Last commit | Last update |
|---|---|---|
[master] 同步 6612 兼容修复并移除 hccl.h 打包安装 Co-authored-by: jiangxinyu3<jiangxinyu3@hisilicon.com> # message auto-generated for no-merge-commit merge: !6644 merge fix/master-preserve-hccl-header into master [master] 同步 6612 兼容修复并移除 hccl.h 打包安装 Created-by: jiangxinyu3 Commit-by: jiangxinyu3 Merged-by: cann-robot Description: ## 描述 同步 PR #6612 的兼容修复到 master,并移除 PR #6628 临时恢复的 hccl.h 打包安装。 新版 asc-devkit 调用已安装旧包的卸载脚本前,检查同一安装环境的 share/info/hccl。若 HCCL 已安装,则从旧 asc-devkit 的 filelist.csv 中移除 include/hccl/hccl.h 文件记录,避免旧卸载流程误删 HCCL 头文件;未安装 HCCL 时保持原清单。覆盖普通旧包卸载与非多版本迁移两条路径,清单修正失败时终止操作。 同时删除 host 侧 hccl.h 的 CMake 安装规则,以及 AscHcclLib.xml 中 include/hccl 目录和 hccl.h 文件登记,asc-devkit 不再共同安装和卸载该共享头文件。 本次修复覆盖 asc-devkit 直接安装、升级和卸载入口。toolkit 整包升级的旧环境整体卸载,以及 --full 切换 cann 版本目录后的 ops/HCCL 衔接问题不在本 PR 范围内。 ## 关联 PR - https://gitcode.com/cann/asc-devkit/pull/6612 - https://gitcode.com/cann/asc-devkit/pull/6628 ## 验证 - 两个安装脚本与 PR #6612 提交 c9d0160d9e2ca5044724191e832c57a258805f0d 完全一致。 - A5_2p Linux 临时目录脚本回归:9 项通过,覆盖过滤精度、元数据保留、幂等、环境隔离、两条卸载路径和失败传播;旧卸载器使用测试夹具。 - Shell 语法检查、XML 解析及打包安装项移除检查、git diff --check 通过。 - 未执行本次 master 修改的 CANN 编译打包、真实安装包升级或 NPU 验证。 See merge request: cann/asc-devkit!6644 | 24 days ago | |
enable aicpu printf by ASCENDC_DUMP Co-authored-by: liuliu876<liuxin429@huawei.com> # message auto-generated for no-merge-commit merge: !5525 merge aicpu_print_switch into master enable aicpu printf by ASCENDC_DUMP Created-by: liuliu876 Commit-by: liuliu876 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的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!5525 | 2 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 | |
float类型数学接口性能优化 Co-authored-by: xuyiyang0324<xuyiyang6@huawei.com> # message auto-generated for no-merge-commit merge: !6500 merge float_high_prec_3 into master float类型数学接口性能优化 Created-by: xuyiyang0324 Commit-by: xuyiyang0324 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 针对 impl/simt_api/math_functions_impl.h 中的 float 类型数学接口进行性能优化,整体思路是调整 nextafterf、erff、erfcinvf、erfcxf、exp10f、expm1f、logbf、ilogbf 等函数的实现结构与分支顺序:将特殊值(NaN、±Inf、0)判断从函数入口移至计算之后,通过统一的结果变量与条件选择替代提前返回,使主计算路径更规整;同时改写 nextafterf 为基于整数位运算的方向步进实现,并将部分 exp2f/rsqrtf 调用替换为 __powf/__sqrtf 等价形式。 主要改动 - nextafterf 改为位运算实现: 使用 __float_as_uint/__uint_as_float 提取符号与幅值位,通过 step_down 判断步进方向、zero_res 处理 ±0、并保留 x==y 与 NaN 传播逻辑,替代原先基于指针 reinterpret_cast 的多分支写法。 - erff、erfcinvf、erfcxf 统一结果出口: 引入 res/result 变量,将各分支的 return 改为赋值后末尾统一返回;erff 与 erfcxf 中把 exp2f(x) 替换为 __powf(2.0f, x),erfcinvf 中把 rsqrtf(neg_log) 替换为 1.0f / __sqrtf(neg_log);erfcxf 的 x < -9.43f 提前返回也调整为计算结果后再覆盖为 ASCRT_INF_F。 - exp10f、expm1f 特殊值处理后置: 移除入口处的 NaN/Inf(及 expm1f 的 x == 0)提前返回,改为在完成 __powf 计算后按 __isinf/__isnan/x == 0.0f 覆盖结果;expm1f 同时补充了 __isnan(x) || x == 0.0f 时返回 y = x 的收敛逻辑。 - logbf、ilogbf 判断顺序调整: 先计算 __internal_ilogbf_finite_abs(ax) 作为默认结果,再依次用 ax == ASCRT_INF_F、ax == 0.0f、__isnan(x) 条件覆盖,替代原先依次提前返回的写法。 - log1pf 特殊路径合并: 将原先嵌套在 x_bits >= fp32_positive_inf_bits 条件内的 inf 路径与 -0 处理,改为无条件计算 inf_path 并用 need_inf、need_neg_zero 两个布尔选择合并原外、内层条件。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> https://gitcode.com/cann/asc-devkit/issues/1782 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> | SIMT API | 是否优化 | LEGACY实现 | 高精度实现 | |---|---|---|---| | float expm1f(float x) | 是 | --cce-use-fast-math=true: 29.65<br>--cce-use-fast-math=false: 51.39 | --cce-use-fast-math=true:<br>优化前:152.72 优化后:114.70<br>--cce-use-fast-math=false:<br>优化前:146.30 优化后:115.45 | | float exp10f(float x) | 是 | --cce-use-fast-math=true: 49.96<br>--cce-use-fast-math=false: 49.85 | --cce-use-fast-math=true:<br>优化前:129.32 优化后:98.53<br>--cce-use-fast-math=false:<br>优化前:129.40 优化后:98.96 | | int ilogbf(float x) | 是 | --cce-use-fast-math=true: 135.34<br>--cce-use-fast-math=false: 147.20 | --cce-use-fast-math=true:<br>优化前:64.23 优化后:44.99<br>--cce-use-fast-math=false:<br>优化前:62.98 优化后:44.91 | | float log1pf(float x) | 是 | --cce-use-fast-math=true: 37<br>--cce-use-fast-math=false: 37 | --cce-use-fast-math=true:<br>优化前:133 优化后:103<br>--cce-use-fast-math=false:<br>优化前:133 优化后:103 | | float atanhf(float x) | 是 | --cce-use-fast-math=true: 73.37<br>--cce-use-fast-math=false: 306.50 | --cce-use-fast-math=true:<br>优化前:167.86 优化后:159.99<br>--cce-use-fast-math=false:<br>优化前:327.58 优化后:323.14 | | float logbf(float x) | 是 | --cce-use-fast-math=true: 96.48<br>--cce-use-fast-math=false: 98.53 | --cce-use-fast-math=true:<br>优化前:97.21 优化后:53.27<br>--cce-use-fast-math=false:<br>优化前:93.32 优化后:56.16 | ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6500 | 29 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: 9201架构新增类型转换C API接口 (add e6m22bfloat16 e8m02bfloat16 half2e4m3 and half2e5m2 及asc_cast/asc_cast_merge) Co-authored-by: wuzhengzhen<wuzhengzhen@huawei.com> # message auto-generated for no-merge-commit merge: !6623 merge test_half2xxx_from_master into master feat: 9201架构新增类型转换C API接口 (add e6m22bfloat16 e8m02bfloat16 half2e4m3 and half2e5m2 及asc_cast/asc_cast_merge) Created-by: wuzhengzhen Commit-by: wuzhengzhen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 9201 新增 half -> FP8 E4M3FN / E5M2 转换 C API:asc_half2e4m3_rn*、asc_half2e5m2_rn*,覆盖饱和与非饱和、EVEN/ODD 位置、zeroing/merging、返回值重载及 _v2 形式;同时接入通用 asc_cast / asc_cast_merge。声明见 include/c_api/reg_compute/reg_convert.h:8546,9201 实现见 impl/c_api/reg_base_impl/ npu_arch_9201/reg_convert_intf_impl.h:2413。 - 补齐相关转换能力:float -> half 的 merge 形式,E6M2/E8M0 -> bfloat16,以及 E6M2 -> bfloat16 的 reciprocal 转换。 - 新增寄存器打包 API:asc_pack_to_low/high 和多种整数、half、float 类型的 asc_pack_datablock。 - 新增 FP8 E6M2 的 asc_gather / asc_gather_datablock 重载。 - 更新公共导出、host-header checker、类型别名及 CPU stub,使上述接口能完成 host 编译与 UT mock。 - 新增 8 个 UT 文件,覆盖 E4M3/E5M2 转换、float2half、E6M2/E8M0 转 BF16、reciprocal 转换、pack 和 E6M2 gather;并扩展 VCVT 测试辅助宏以校验 round、saturation、position、mode 等指令参数。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6623 | 25 days ago | |
adapt cmake 4.2.3 Co-authored-by: pengcheng1024<pengcheng40@hisilicon.com> # message auto-generated for no-merge-commit merge: !3120 merge master into master adapt cmake 4.2.3 Created-by: pengcheng1024 Commit-by: pengcheng1024 Merged-by: cann-robot Description: ## 描述 适配cmake4.2.3 确保tiling_directory.cmake路径配置正确 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [x] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!3120 | 4 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 24 days ago | ||
| 2 months ago | ||
| 24 days ago | ||
| 23 days ago | ||
| 29 days ago | ||
| 23 days ago | ||
| 25 days ago | ||
| 4 months ago |