| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(dsl): support user-provided Ascend C functions Co-authored-by: lsj<gzyyx_man@163.com> # message auto-generated for no-merge-commit merge: !1151 merge feat/dsl-extern-op into master feat(dsl): support user-provided Ascend C functions Created-by: csdn_onlyoh Commit-by: lsj Merged-by: cann-robot Description: ## 描述 为 TLA DSL 增加调用用户自定义 Ascend C 设备函数的能力。当前是第一版, 后续会继续完善。 主要改动: - 新增 @tla.extern 声明 API,通过 Python 类型注解描述外部函数 C ABI。 - 新增带数据类型和地址空间的 tla.Pointer[dtype, address_space] 类型描述。 - 新增 tla.call_extern IR,并将指针参数 Lower 为 C ABI 地址参数。 - 根据外部函数的 AIC/AIV 调用区域,使用 ccec 编译目标专用 bitcode。 - 将外部 bitcode 接入现有 hivmc-a5 --link-aicore-bitcode 链接流程。 - 将外部源码及编译器信息纳入 Kernel 缓存键。 - 禁止 auto_sync="v0" 与外部调用组合,要求用户显式同步。 - 新增 pytest、lit 回归测试和 extern vecadd 端到端样例。 ## 关联的Issue https://gitcode.com/cann/catlass/issues/459 ## 原因 为TLA DSL提供功能和性能的兜底方案。当前 TLA DSL 无法直接复用用户已有的 Ascend C 设备函数。该能力允许用户在TLA Kernel 中调用外部设备函数, 同时继续使用 TLA DSL 完成其他计算、同步和数据搬运逻辑。 ## 测试 进行了全量回归测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1151 | 12 天前 | |
同步更新19MLA的optest测试件 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !1163 merge br.19mla_update into master 同步更新19MLA的optest测试件 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 与样例侧对齐19MLA算子的Optest测试件(详见commit: 3918a9cb,或查看[PR#794](https://gitcode.com/cann/catlass/pull/794))。包括: - **Tiling侧**:更新KVSplit判断,对齐tilingHost[TILING_MAX_KVSEQLEN] >= blockDim * KV_SEQLEN_SLICE * NUM2 - **Kernel侧**:把进程调度从旧版升级为 prefix-sum table 映射做法(Tiling侧预先准备 TILING_PROCESSNUM和 CUTASK_START_OFFSET) Referrence:[PR#794](https://gitcode.com/cann/catlass/pull/794) ## 关联的Issue https://gitcode.com/cann/catlass/issues/432 ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 自验200例 ATK 回归测试通过。  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1163 | 10 天前 | |
add a declarative post-processing framework, EVG. Co-authored-by: li_wei21<liwei949@huawei.com> Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !679 merge catlass_evg_0608 into master add a declarative post-processing framework, EVG. Created-by: li_wei21 Commit-by: li_wei21;yuantao Merged-by: cann-robot Description: ## 描述 Catlass开源仓新增特性EVG,增强后处理代码的易用性,同时补充对应的测试样例。 EVG设计的详细说明可以参考issue。 ## 关联的Issue https://gitcode.com/cann/catlass/issues/233 ## 测试 已对每一个EVG类型的模板样例分别进行200个case测试,结果通过 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!679 | 2 个月前 | |
test: upgrade test scripts for precision test in the future Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !1131 merge test-script-upgrade into master test: upgrade test scripts for precision test in the future Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 将example bin测试修改为pytest,嵌入编译流程 将python extension两种写法整理为统一入口 增加一个脚本,通过include和example目录的变化给出被影响的example清单 example的测试增加DEVICE_ID环境变量以适应RDV <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1131 | 18 天前 | |
文档低错整改 Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !859 merge debug into master 文档低错整改 Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 使用doc tools工具排查文档存在 - 代码块未指定语言 - 代码块前后换行 - 本地路径链接无法访问 - 列表前后换行 - 加粗符号空格 - 标签匹配失败 - 有序列表编号错误 等问题 基于大模型扫描修复文字描述中出现的低级错误 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!859 | 1 个月前 | |
增加unittest单元测试 Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !449 merge unittest into master 增加unittest单元测试 Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!449 | 5 个月前 | |
Add catlass_cppgen into main repo, a tool for generating catlass template code. Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !817 merge br.cppgen into master 补充cppgen框架 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 catlass_cppgen 是一个基于 Python 的代码生成框架,用于构建和生成 CATLASS 高性能算子。该框架提供接口以定义算子参数、选择优化策略,并自动生成对应的 C++ 核函数代码。 本次补充的内容结构如下: plain ./catlass_cppgen ├── catlass_cppgen │ ├── __init__.py │ ├── catlass # CATLASS 相关特性组件 │ │ ├── __init__.py │ │ ├── arch # 代际声明 │ │ ├── evg # EVG 特性承载 │ │ ├── evg_extension.py │ │ ├── gemm │ │ ├── gemm_coord.py │ │ ├── layout │ │ └── library.py │ ├── common # 通用组件 │ │ ├── __init__.py │ │ ├── data_type.py │ │ ├── op_tensor.py │ │ ├── typing.py │ │ └── utils.py │ ├── kernel │ │ ├── __init__.py │ │ ├── gemm # GEMM 类算子特化类 │ │ ├── group_gemm # Group GEMM 类算子特化类 │ │ ├── kernel_base.py │ │ └── visitor_kernel_base.py │ ├── op # 算子Kernel基类 │ │ ├── __init__.py │ │ ├── gemm.py │ │ ├── group_gemm.py │ │ └── op.py │ └── _version.py ├── docs # API 文档 │ ├── evg_api.md │ ├── kernel_api.md │ └── optensor_api.md ├── pyproject.toml ├── README.md # 主README文档 └── uv.lock 相关的测试路径: plain ./ ├── catlass │ ├── test_arch.py │ ├── test_dispatch_policy.py │ ├── test_gemm_coord.py │ └── test_layout.py ├── common │ ├── test_data_type.py │ └── test_op_tensor.py └── op ├── assertion_helper.py ├── test_evg.py ├── test_gemm.py └── test_group_gemm.py ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 演进与完善 ## 测试 **gen-match 测试(UT-level)** 执行tests/run_cppgen.sh测试<span style="color:green">PASS</span>。 plain ============================================ Step 3: Preparing test all testcases... ============================================ --- catlass/test_arch.py --- ... ---------------------------------------------------------------------- Ran 3 tests in 0.000s OK --- catlass/test_dispatch_policy.py --- ....... ---------------------------------------------------------------------- Ran 7 tests in 0.001s OK --- catlass/test_gemm_coord.py --- .... ---------------------------------------------------------------------- Ran 4 tests in 0.000s OK --- catlass/test_layout.py --- ......................... ---------------------------------------------------------------------- Ran 25 tests in 0.001s OK --- common/test_data_type.py --- ........................ ---------------------------------------------------------------------- Ran 24 tests in 0.001s OK --- common/test_op_tensor.py --- ....... ---------------------------------------------------------------------- Ran 7 tests in 0.001s OK --- op/test_evg.py --- ............ ---------------------------------------------------------------------- Ran 12 tests in 0.030s OK --- op/test_gemm.py --- ............. ---------------------------------------------------------------------- Ran 13 tests in 0.014s OK --- op/test_group_gemm.py --- ........ ---------------------------------------------------------------------- Ran 8 tests in 0.003s OK ============================================ Step 4: Cleaning and uninstalling catlass_cppgen... ============================================ Found existing installation: catlass-cppgen 0.1.0+20260706144530 Uninstalling catlass-cppgen-0.1.0+20260706144530: Successfully uninstalled catlass-cppgen-0.1.0+20260706144530 Found existing installation: build 1.5.0 Uninstalling build-1.5.0: Successfully uninstalled build-1.5.0 ============================================ All steps completed successfully! SUMMARY: 9 passed, 0 failed ============================================ ## 文档更新 更新下述文档: - python/catlass_cppgen/README.md - python/catlass_cppgen/docs/evg_api.md - python/catlass_cppgen/docs/kernel_api.md - python/catlass_cppgen/docs/optensor_api.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!817 | 1 个月前 | |
Add catlass_cppgen into main repo, a tool for generating catlass template code. Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !817 merge br.cppgen into master 补充cppgen框架 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 catlass_cppgen 是一个基于 Python 的代码生成框架,用于构建和生成 CATLASS 高性能算子。该框架提供接口以定义算子参数、选择优化策略,并自动生成对应的 C++ 核函数代码。 本次补充的内容结构如下: plain ./catlass_cppgen ├── catlass_cppgen │ ├── __init__.py │ ├── catlass # CATLASS 相关特性组件 │ │ ├── __init__.py │ │ ├── arch # 代际声明 │ │ ├── evg # EVG 特性承载 │ │ ├── evg_extension.py │ │ ├── gemm │ │ ├── gemm_coord.py │ │ ├── layout │ │ └── library.py │ ├── common # 通用组件 │ │ ├── __init__.py │ │ ├── data_type.py │ │ ├── op_tensor.py │ │ ├── typing.py │ │ └── utils.py │ ├── kernel │ │ ├── __init__.py │ │ ├── gemm # GEMM 类算子特化类 │ │ ├── group_gemm # Group GEMM 类算子特化类 │ │ ├── kernel_base.py │ │ └── visitor_kernel_base.py │ ├── op # 算子Kernel基类 │ │ ├── __init__.py │ │ ├── gemm.py │ │ ├── group_gemm.py │ │ └── op.py │ └── _version.py ├── docs # API 文档 │ ├── evg_api.md │ ├── kernel_api.md │ └── optensor_api.md ├── pyproject.toml ├── README.md # 主README文档 └── uv.lock 相关的测试路径: plain ./ ├── catlass │ ├── test_arch.py │ ├── test_dispatch_policy.py │ ├── test_gemm_coord.py │ └── test_layout.py ├── common │ ├── test_data_type.py │ └── test_op_tensor.py └── op ├── assertion_helper.py ├── test_evg.py ├── test_gemm.py └── test_group_gemm.py ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 演进与完善 ## 测试 **gen-match 测试(UT-level)** 执行tests/run_cppgen.sh测试<span style="color:green">PASS</span>。 plain ============================================ Step 3: Preparing test all testcases... ============================================ --- catlass/test_arch.py --- ... ---------------------------------------------------------------------- Ran 3 tests in 0.000s OK --- catlass/test_dispatch_policy.py --- ....... ---------------------------------------------------------------------- Ran 7 tests in 0.001s OK --- catlass/test_gemm_coord.py --- .... ---------------------------------------------------------------------- Ran 4 tests in 0.000s OK --- catlass/test_layout.py --- ......................... ---------------------------------------------------------------------- Ran 25 tests in 0.001s OK --- common/test_data_type.py --- ........................ ---------------------------------------------------------------------- Ran 24 tests in 0.001s OK --- common/test_op_tensor.py --- ....... ---------------------------------------------------------------------- Ran 7 tests in 0.001s OK --- op/test_evg.py --- ............ ---------------------------------------------------------------------- Ran 12 tests in 0.030s OK --- op/test_gemm.py --- ............. ---------------------------------------------------------------------- Ran 13 tests in 0.014s OK --- op/test_group_gemm.py --- ........ ---------------------------------------------------------------------- Ran 8 tests in 0.003s OK ============================================ Step 4: Cleaning and uninstalling catlass_cppgen... ============================================ Found existing installation: catlass-cppgen 0.1.0+20260706144530 Uninstalling catlass-cppgen-0.1.0+20260706144530: Successfully uninstalled catlass-cppgen-0.1.0+20260706144530 Found existing installation: build 1.5.0 Uninstalling build-1.5.0: Successfully uninstalled build-1.5.0 ============================================ All steps completed successfully! SUMMARY: 9 passed, 0 failed ============================================ ## 文档更新 更新下述文档: - python/catlass_cppgen/README.md - python/catlass_cppgen/docs/evg_api.md - python/catlass_cppgen/docs/kernel_api.md - python/catlass_cppgen/docs/optensor_api.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!817 | 1 个月前 | |
feat(dsl): support user-provided Ascend C functions Co-authored-by: lsj<gzyyx_man@163.com> # message auto-generated for no-merge-commit merge: !1151 merge feat/dsl-extern-op into master feat(dsl): support user-provided Ascend C functions Created-by: csdn_onlyoh Commit-by: lsj Merged-by: cann-robot Description: ## 描述 为 TLA DSL 增加调用用户自定义 Ascend C 设备函数的能力。当前是第一版, 后续会继续完善。 主要改动: - 新增 @tla.extern 声明 API,通过 Python 类型注解描述外部函数 C ABI。 - 新增带数据类型和地址空间的 tla.Pointer[dtype, address_space] 类型描述。 - 新增 tla.call_extern IR,并将指针参数 Lower 为 C ABI 地址参数。 - 根据外部函数的 AIC/AIV 调用区域,使用 ccec 编译目标专用 bitcode。 - 将外部 bitcode 接入现有 hivmc-a5 --link-aicore-bitcode 链接流程。 - 将外部源码及编译器信息纳入 Kernel 缓存键。 - 禁止 auto_sync="v0" 与外部调用组合,要求用户显式同步。 - 新增 pytest、lit 回归测试和 extern vecadd 端到端样例。 ## 关联的Issue https://gitcode.com/cann/catlass/issues/459 ## 原因 为TLA DSL提供功能和性能的兜底方案。当前 TLA DSL 无法直接复用用户已有的 Ascend C 设备函数。该能力允许用户在TLA Kernel 中调用外部设备函数, 同时继续使用 TLA DSL 完成其他计算、同步和数据搬运逻辑。 ## 测试 进行了全量回归测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1151 | 12 天前 | |
新增 01 02 05 07 0910 11 12 22测试接口 Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !659 merge optest into master 新增 01 02 05 07 0910 11 12 22测试接口 Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 | # | 名称 | 分类 | 状态 | |---|------|------|------| | 01 | batched_matmul | 批量矩阵乘 | ✅ | | 02 | grouped_matmul_slice_m | 分组 Slice-M | ✅ | | 05 | grouped_matmul_slice_k | 分组 Slice-K | ✅ | | 07 | grouped_matmul_slice_m_per_token_dequant | 分组 + 量化 Slice-M | ✅ | | 09 | splitk_matmul | 多核 Split-K | ✅ | | 10 | grouped_matmul_slice_m_per_token_dequant_multistage | 分组 + 量化 + 多级 workspace | ✅ | | 11 | grouped_matmul_slice_k_per_token_dequant | 分组 + 量化 Slice-K | ✅ | | 12 | quant_matmul | 量化矩阵乘(多级 workspace) | ✅ | | 22 | padding_splitk_matmul | 对齐填充 + Split-K | ✅ | 新增适配器模板 | 模板 | 适用算子 | |------|---------| | BatchedMatmulLike<KernelFn> | 01(3-D 张量批量乘) | | GroupedMatmulLike<KernelFn, SliceDir> | 02/05(分组 slice-M/K) | | GroupedQuantMatmulLike<KernelFn, SliceDir> | 07/10/11(分组量化 scale+per_token_scale) | | 复用现有 MatmulLike / QuantMatmulLike | 09/12/22 | ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!659 | 2 个月前 | |
test: upgrade test scripts for precision test in the future Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !1131 merge test-script-upgrade into master test: upgrade test scripts for precision test in the future Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 将example bin测试修改为pytest,嵌入编译流程 将python extension两种写法整理为统一入口 增加一个脚本,通过include和example目录的变化给出被影响的example清单 example的测试增加DEVICE_ID环境变量以适应RDV <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1131 | 18 天前 | |
Complete and refine tile-level unittests. Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !730 merge ut.dev into master 补充TLA Tile组件UT测试件 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 补充TLA Tile组件UT测试件。 |数据通路|被测组件|源文件|非TLA 特化数|TLA/Sparse 特化数| |---|---|---|---|---| |**GM→L1**|CopyGmToL1 / GMMPTD / DynamicOptimized / IntervalDataCopy||\~24|10| |**L1→L0A**|CopyL1ToL0A ||10|6| |**L1→L0B**|CopyL1ToL0B ||13|6| |**L0C→GM** |CopyL0CToGm ||7|3| |**GM→UB**|CopyGm2Ub / CopyGm2UbAligned / CopyPerTokenScale2Ub||4|1| |**UB→GM**|CopyUb2Gm / CopyUb2GmAligned||3|1| |**MMAD** |TileMmad||2|2| |**合计**|||**\~63**|**\~27**| - 特别说明:本PR涉及对公共 MakeIntegerSequence的修改,原因在于后续make_index_sequence = MakeIntegerSequence<size_t, N>和make_int_sequence = MakeIntegerSequence<int, N>中涉及int和size_t两种类型,而MakeIntegerSequenceImpl中展开量的类型限定为size_t,GCC/Clang stub 编译阶段严格拒绝了可能的隐式转换。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 ### UT组件通过情况 - Arch2201: bash ... [----------] Global test environment tear-down [==========] 581 tests from 19 test suites ran. (129 ms total) [ PASSED ] 548 tests. [ SKIPPED ] 33 tests, listed below: [ SKIPPED ] CopyGmToL1/TileCopyGmToL1TestAtlasA2.RowMajorTozNTestOneRow_GMMPTD/0 [ SKIPPED ] CopyGmToL1/TileCopyGmToL1TestAtlasA2.RowMajorTozNTestOneRow_GMMPTD/2 ... - Arch3510: bash ... [ RUN ] Ascend950/TypedTileMmadA950Suite.DisableGemvMmad/14 [ OK ] Ascend950/TypedTileMmadA950Suite.DisableGemvMmad/14 (0 ms) [----------] 120 tests from Ascend950/TypedTileMmadA950Suite (2 ms total) [----------] Global test environment tear-down [==========] 383 tests from 20 test suites ran. (32 ms total) [ PASSED ] 383 tests. ### 覆盖率 <span style="color:green">FULL</span> bash Overall coverage rate: lines......: 100.0% (2486 of 2486 lines) functions..: 99.3% (1480 of 1490 functions) Reading tracefile /catlass/build/coverage/coverage.info |Lines |Functions|Branches Filename |Rate Num|Rate Num|Rate Num ================================================================================ [/catlass/include/] catlass/coord.hpp | 100% 17| 100% 23| - 0 catlass/detail/alignment.hpp | 100% 10| 100% 25| - 0 catlass/epilogue/tile/copy_gm_to_ub.hpp | 100% 68| 100% 6| - 0 catlass/epilogue/tile/copy_gm_to_ub_tla.hpp | 100% 19| 100% 2| - 0 catlass/epilogue/tile/copy_ub_to_gm.hpp | 100% 45| 100% 5| - 0 catlass/epilogue/tile/copy_ub_to_gm_tla.hpp | 100% 10| 100% 1| - 0 catlass/gemm/tile/ascend950/copy_gm_to_l1.hpp | 100% 417| 100% 46| - 0 catlass/gemm/tile/ascend950/copy_l0c_to_gm.hpp | 100% 99| 100% 10| - 0 catlass/gemm/tile/ascend950/copy_l0c_to_ub.hpp | 100% 44| 100% 3| - 0 catlass/gemm/tile/ascend950/copy_l1_to_bt.hpp | 100% 12| 100% 4| - 0 catlass/gemm/tile/ascend950/copy_l1_to_l0a.hpp | 100% 98| 100% 16| - 0 catlass/gemm/tile/ascend950/copy_l1_to_l0b.hpp | 100% 162| 100% 20| - 0 catlass/gemm/tile/atlasa2/copy_gm_to_l1.hpp | 100% 611| 100% 68| - 0 catlass/gemm/tile/atlasa2/copy_gm_to_ub.hpp | 100% 12| 100% 2| - 0 catlass/gemm/tile/atlasa2/copy_l0c_to_gm.hpp | 100% 69| 100% 9| - 0 catlass/gemm/tile/atlasa2/copy_l1_to_l0a.hpp | 100% 171| 100% 22| - 0 catlass/gemm/tile/atlasa2/copy_l1_to_l0b.hpp | 100% 219| 100% 26| - 0 catlass/gemm/tile/atlasa2/copy_ub_to_gm.hpp | 100% 11| 100% 2| - 0 catlass/gemm/tile/tile_mmad.hpp | 100% 91| 100% 20| - 0 catlass/layout/matrix.hpp | 100% 139| 100% 63| - 0 catlass/layout/vector.hpp | 100% 5| 100% 3| - 0 catlass/numeric_size.hpp | 100% 2| 100% 1| - 0 tla/int_tuple.hpp | 100% 16| 100% 47| - 0 tla/layout.hpp | 100% 85|99.6% 244| - 0 tla/numeric/integral_constant.hpp | 100% 4| 100% 17| - 0 tla/numeric/math.hpp | 100% 4| 100% 3| - 0 tla/tensor.hpp | 100% 24|99.2% 241| - 0 tla/tuple.hpp | 100% 22|98.8% 561| - 0 ================================================================================ Total:| 100% 2486|99.3% 1k| - 0 [100%] Built target coverage_collect ### 变异测试(部分) 1. src和dst typo错误混杂 Ref bugfix commit: 02d1078 Mutation: diff --- a/include/catlass/gemm/tile/ascend950/copy_l1_to_l0a.hpp +++ b/include/catlass/gemm/tile/ascend950/copy_l1_to_l0a.hpp @@ -626,7 +626,7 @@ struct CopyL1ToL0A<Arch::Ascend950, Gemm::GemmType<Element, layout::nZ, AscendC: const uint32_t L0M = layoutDst.shape(0) * layoutDst.shape(1); const uint32_t L0K = layoutDst.shape(2) * layoutDst.shape(3); const uint32_t srcOuterStrideRow = layoutSrc.stride(1); - const uint32_t dstOuterStrideCol = layoutDst.stride(3); + const uint32_t dstOuterStrideCol = layoutSrc.stride(3); AscendC::LoadData2DParamsV2 loadDataParams; loadDataParams.mStartPosition = 0; Result: <span style="color:green">KILLED</span> bash [ FAILED ] 3 tests, listed below: [ FAILED ] CopyL1ToL0A/TileCopyL1ToL0ATestAscend950.nZTozNTestBasic/0, where GetParam() = 8-byte object <80-00 00-00 40-00 00-00> [ FAILED ] CopyL1ToL0A/TileCopyL1ToL0ATestAscend950.nZTozNTestBasic/2, where GetParam() = 8-byte object <40-00 00-00 2A-00 00-00> [ FAILED ] CopyL1ToL0A/TileCopyL1ToL0ATestAscend950.nZTozNTestBasic/3, where GetParam() = 8-byte object <7B-00 00-00 08-00 00-00> 3 FAILED TESTS 2. 不对齐的情况 Ref bugfix commit: 0439b54e Mutation: diff --- a/include/catlass/gemm/tile/ascend950/copy_l0c_to_ub.hpp +++ b/include/catlass/gemm/tile/ascend950/copy_l0c_to_ub.hpp @@ -148,7 +148,7 @@ struct CopyL0CToUBTla< AscendC::FixpipeParamsC310<AscendC::CO2Layout::ROW_MAJOR> intriParams; // Fixpipe layout information - intriParams.nSize = RoundUp(tla::get<1>(dstTensor.originShape()), 32); // n must be multiple of 32 when split n + intriParams.nSize = tla::get<1>(dstTensor.originShape()); // n must be multiple of 32 when split n intriParams.mSize = tla::get<0>(dstTensor.originShape()); intriParams.srcStride = tla::get<1, 1>(srcTensor.stride()) / tla::get<0, 0>(srcTensor.stride()); intriParams.dstStride = tla::get<0>(dstTensor.stride()); Result: <span style="color:green">KILLED</span> [ FAILED ] 1 test, listed below: [ FAILED ] CopyL0CToUbTlaAscend950/TileCopyL0CToUbTlaAscend950Test.L0CToRowMajorTestSplitN/1, where GetParam() = 8-byte object <41-00 00-00 7F-00 00-00> 1 FAILED TEST 3. 常量错误 Ref bugfix commit: 81e1129e Mutation: diff --- a/include/catlass/gemm/tile/ascend950/copy_l1_to_bt.hpp +++ b/include/catlass/gemm/tile/ascend950/copy_l1_to_bt.hpp @@ -80,7 +80,7 @@ struct CopyL1ToBT<Arch::Ascend950, Catlass::Gemm::GemmType<ElementSrc, layout::V using LayoutDst = layout::VectorLayout; using LayoutSrc = layout::VectorLayout; - static constexpr uint32_t ELE_NUM_PER_C0 = BytesToBits(BYTE_PER_C0) / SizeOfBits<ElementSrc>::value; + static constexpr uint32_t ELE_NUM_PER_C2 = BytesToBits(BYTE_PER_C2) / SizeOfBits<ElementSrc>::value; CATLASS_DEVICE CopyL1ToBT(){} @@ -93,7 +93,7 @@ struct CopyL1ToBT<Arch::Ascend950, Catlass::Gemm::GemmType<ElementSrc, layout::V ){ AscendC::DataCopyParams intriParams; intriParams.blockCount = 1; - intriParams.blockLen = CeilDiv(layoutDst.shape(0), ELE_NUM_PER_C0); + intriParams.blockLen = CeilDiv(layoutDst.shape(0), ELE_NUM_PER_C2); if (sizeof(ElementSrc) == 4) { Result: <span style="color:yellow">SURVIVED</span> <span style="color:green">KILLED</span>(commit:b1d60262) bash [ FAILED ] 6 tests, listed below: [ FAILED ] Ascend950/TypedL1ToBTA950Suite.VectorToVectorTestHalf/0, where GetParam() = 8-byte object <80-00 00-00 01-00 00-00> [ FAILED ] Ascend950/TypedL1ToBTA950Suite.VectorToVectorTestHalf/1, where GetParam() = 8-byte object <43-00 00-00 01-00 00-00> [ FAILED ] Ascend950/TypedL1ToBTA950Suite.VectorToVectorTestHalf/2, where GetParam() = 8-byte object <00-01 00-00 01-00 00-00> [ FAILED ] Ascend950/TypedL1ToBTA950Suite.VectorToVectorTestFloat/0, where GetParam() = 8-byte object <80-00 00-00 01-00 00-00> [ FAILED ] Ascend950/TypedL1ToBTA950Suite.VectorToVectorTestFloat/1, where GetParam() = 8-byte object <43-00 00-00 01-00 00-00> [ FAILED ] Ascend950/TypedL1ToBTA950Suite.VectorToVectorTestFloat/2, where GetParam() = 8-byte object <00-01 00-00 01-00 00-00> 6 FAILED TESTS ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!730 | 2 个月前 | |
用pre-commit刷新主要文件的格式 Co-authored-by: Yuan Tao<yuantao313@outlook.com> Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !874 merge precommit into master 用pre-commit刷新主要文件的格式 Created-by: yuantao_ Commit-by: yuantao;Yuan Tao Merged-by: cann-robot Description: ## 描述 刷新主要文件的格式,并补充关键字检查项,保证pre-commit能够通过 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!874 | 1 个月前 | |
修复 tests/test_example.py下74号样例错误参数 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !1144 merge br.fix.test_example into master 修复tests/test_example.py下74号样例错误参数 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 修复tests/test_example.py下74号样例错误参数,原通过命令行提供给"gen_data.py"的最后一位参数语义上非DEVICE_ID,表isNz(当前样例固定为1) 移除有偶发精度问题的测试例: tests/optest/tests/test_61_ascend950_svd_quant_matmul.py ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 测试通过无问题: bash (catlass-pacr) xxx@xxx:./xxx/catlass$ python -m pytest tests/test_example.py -k test_74_ascend950_weight_quant_a8w4_grouped_mx_matmul ============================================================================== test session starts =============================================================================== platform linux -- Python 3.11.15, pytest-9.0.2, pluggy-1.6.0 rootdir: /xxx/TEST/catlass plugins: anyio-4.14.2 collected 85 items / 84 deselected / 1 selected tests/test_example.py . [100%] ================================================================== 1 passed, 84 deselected in 66.17s (0:01:06) =================================================================== ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1144 | 12 天前 | |
代码风格清理 Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !515 merge common into master 代码风格清理 Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 函数入口都用static - 头文件保证直接引用 - 条件语句的条件保证为bool - 补充extern "C" 标志 - 删除没有用到的函数 - 删除没有用到的注释 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!515 | 5 个月前 | |
【task】更新license Co-authored-by: yuantao<taoyuan15@h-partners.com> # message auto-generated for no-merge-commit merge: !399 merge master into master 【task】更新license Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!399 | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 12 天前 | ||
| 10 天前 | ||
| 2 个月前 | ||
| 18 天前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 12 天前 | ||
| 2 个月前 | ||
| 18 天前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 12 天前 | ||
| 5 个月前 | ||
| 8 个月前 |