本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
修复f-string问题 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !1167 merge br.pep701 into master 修复f-string问题 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 .agents/skills/catlass-example-to-torch-intf/examples/grouped_matmul/test_grouped_matmul.py:72-75 的 print 使用了花括号内跨行的 f-string,在小于Python3.12版本下会直接报错SyntaxError ## 关联的Issue https://gitcode.com/cann/catlass/issues/452 ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 构造简易print测试通过 bash (optest_py311) ubuntu@xxx:/xxx$ python ./tmp/test.py Case 0: groups=[gg], K=128, N=256:max_diff=0.0000, mean_diff=0.0000, PASS ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1167 | 1 天前 | |
catlass仓上gitcode action Co-authored-by: han zhang<316931656@qq.com> # message auto-generated for no-merge-commit merge: !1036 merge master into master catlass仓上gitcode action Created-by: overfitting_zh Commit-by: han zhang Merged-by: cann-robot Description: ## 描述 catlass仓上gitcode action ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 catlass仓上gitcode action,暂时不影响门禁待陪跑完成后切换。 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1036 | 21 天前 | |
增加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 | 4 个月前 | |
用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 个月前 | |
feat: Add template definitions for JD.com's core retail operations. Co-authored-by: ext.wangguangcai1<ext.wangguangcai1@jd.com> # message auto-generated for no-merge-commit merge: !1161 merge master into master feat: Add template definitions for JD.com's core retail operations. Created-by: ware2009 Commit-by: ext.wangguangcai1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加京东使用的一些自定义模板类型 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> 1.主要增加x_flash_attention_infer模板和x_attention模板,支撑推荐推理和传统推荐。 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 使用实例: https://github.com/xLLM-AI/xllm-ops/tree/main/xllm_ops/x_attention https://github.com/xLLM-AI/xllm-ops/tree/main/xllm_ops/x_flash_attention_infer 测试用例运行情况:[root@A03-R40-I191-99-4100006 python_test]# pytest test_x_attention_with_pa.py ============================================================================================================================================================== test session starts ============================================================================================================================================================== platform linux -- Python 3.11.15, pytest-8.3.2, pluggy-1.6.0 rootdir: /export/home/ext.wangguangcai1/code/github/xllm-ops/test/python_test plugins: forked-1.6.0, xdist-3.6.1, anyio-4.14.2 collected 1920 items test_x_attention_with_pa.py ............................................................................................................................................................................................................................................................................................................. [ 15%] ......................................................................................................................................................................................................................................................................................................................................... [ 32%] ......................................................................................................................................................................................................................................................................................................................................... [ 49%] ......................................................................................................................................................................................................................................................................................................................................... [ 67%] ......................................................................................................................................................................................................................................................................................................................................... [ 84%] ............................................................................................................................................................................................................................................................................................................... [100%] ======================================================================================================================================================= 1920 passed in 1516.38s (0:25:16) ======================================================================================================================================================= [root@A03-R40-I191-99-4100006 python_test]# ls RegisterOps.cpp pytorch_npu_helper.hpp test_causal_conv1d_qkv.py test_gamma_add_rms_norm.py test_layer_norm_fwd.py test_moe_gating_top_k_hash.py test_multi_latent_attention.py test_replace_token.py test_x_attention.py pycache setup.py test_causal_conv1d_update.py test_hc_post.py test_lightning_indexer_quant.py test_moe_grouped_matmul.py test_onerec_final_beam_select.py test_reshape_and_cache_a5.py test_x_attention_with_pa.py build test_add_rms_norm_bias.py test_compressor.py test_hc_pre_inv_rms.py test_lightning_indexer_quant_metadata.py test_moe_grouped_matmul_swiglu_quant.py test_pp_matmul_opt.py test_rms_norm_dynamic_quant.py test_x_flash_attention_infer.py build_and_run.sh test_beam_search.py test_convert_kv_cache_format.py test_hc_pre_sinkhorn.py test_mega_chunk_gdn.py test_moe_grouped_matmul_swiglu_quant_v2.py test_quant_lightning_indexer.py test_scatter_nd_update_v2.py custom_ops.egg-info test_beam_search_group.py test_dequant_swiglu_quant.py test_index_group_matmul.py test_moe_fused_add_topk.py test_moe_init_routing_custom.py test_quant_lightning_indexer_metadata.py test_select_unshared_kv.py custom_ops.py test_cache_unshared_kv.py test_dispatch_ffn_combine.py test_inplace_partial_rotary_mul.py test_moe_fused_reducesum_div.py test_moe_init_routing_v3.py test_rec_constrained_topk.py test_sparse_attn_sharedkv.py dist test_causal_conv1d.py test_dispatch_gmm_combine_decode.py test_laser_attention.py test_moe_gating_top_k.py test_mtp_prepare_next_draft.py test_recurrent_gated_delta_rule.py test_sparse_attn_sharedkv_metadata.py [root@A03-R40-I191-99-4100006 python_test]# [root@A03-R40-I191-99-4100006 python_test]# [root@A03-R40-I191-99-4100006 python_test]# ls RegisterOps.cpp pytorch_npu_helper.hpp test_causal_conv1d_qkv.py test_gamma_add_rms_norm.py test_layer_norm_fwd.py test_moe_gating_top_k_hash.py test_multi_latent_attention.py test_replace_token.py test_x_attention.py pycache setup.py test_causal_conv1d_update.py test_hc_post.py test_lightning_indexer_quant.py test_moe_grouped_matmul.py test_onerec_final_beam_select.py test_reshape_and_cache_a5.py test_x_attention_with_pa.py build test_add_rms_norm_bias.py test_compressor.py test_hc_pre_inv_rms.py test_lightning_indexer_quant_metadata.py test_moe_grouped_matmul_swiglu_quant.py test_pp_matmul_opt.py test_rms_norm_dynamic_quant.py test_x_flash_attention_infer.py build_and_run.sh test_beam_search.py test_convert_kv_cache_format.py test_hc_pre_sinkhorn.py test_mega_chunk_gdn.py test_moe_grouped_matmul_swiglu_quant_v2.py test_quant_lightning_indexer.py test_scatter_nd_update_v2.py custom_ops.egg-info test_beam_search_group.py test_dequant_swiglu_quant.py test_index_group_matmul.py test_moe_fused_add_topk.py test_moe_init_routing_custom.py test_quant_lightning_indexer_metadata.py test_select_unshared_kv.py custom_ops.py test_cache_unshared_kv.py test_dispatch_ffn_combine.py test_inplace_partial_rotary_mul.py test_moe_fused_reducesum_div.py test_moe_init_routing_v3.py test_rec_constrained_topk.py test_sparse_attn_sharedkv.py dist test_causal_conv1d.py test_dispatch_gmm_combine_decode.py test_laser_attention.py test_moe_gating_top_k.py test_mtp_prepare_next_draft.py test_recurrent_gated_delta_rule.py test_sparse_attn_sharedkv_metadata.py [root@A03-R40-I191-99-4100006 python_test]# pytest test_x_flash_attention_infer.py ============================================================================================================================================================== test session starts ============================================================================================================================================================== platform linux -- Python 3.11.15, pytest-8.3.2, pluggy-1.6.0 rootdir: /export/home/ext.wangguangcai1/code/github/xllm-ops/test/python_test plugins: forked-1.6.0, xdist-3.6.1, anyio-4.14.2 collected 3 items test_x_flash_attention_infer.py ... [100%] =============================================================================================================================================================== 3 passed in 6.89s =============================================================================================================================================================== [root@A03-R40-I191-99-4100006 python_test]# [root@A03-R40-I191-99-4100006 python_test]# [root@A03-R40-I191-99-4100006 python_test]# pytest test_x_attention.py ============================================================================================================================================================== test session starts ============================================================================================================================================================== platform linux -- Python 3.11.15, pytest-8.3.2, pluggy-1.6.0 rootdir: /export/home/ext.wangguangcai1/code/github/xllm-ops/test/python_test plugins: forked-1.6.0, xdist-3.6.1, anyio-4.14.2 collected 18 items test_x_attention.py .................. [100%] ========================================================================================================================================================= 18 passed in 69.31s (0:01:09) ========================================================================================================================================================= [root@A03-R40-I191-99-4100006 python_test]# ls ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1161 | 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 | 1 天前 | |
迁移symm/trmm/planarComplex/950gmmGelu至examples目录 Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !1109 merge expr into master 迁移symm/trmm/planarComplex/950gmmGelu至examples目录 Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 涉及样例: - experimental/gmm/grouped_matmul_slice_m_gelu - experimental/matmul/planar_complex_matmul - experimental/matmul/symm - experimental/matmul/trmm optest/atk测试交付件均完备 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 基于开源社区精度标准泛化自验,精度通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1109 | 11 天前 | |
feat: Add template definitions for JD.com's core retail operations. Co-authored-by: ext.wangguangcai1<ext.wangguangcai1@jd.com> # message auto-generated for no-merge-commit merge: !1161 merge master into master feat: Add template definitions for JD.com's core retail operations. Created-by: ware2009 Commit-by: ext.wangguangcai1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加京东使用的一些自定义模板类型 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> 1.主要增加x_flash_attention_infer模板和x_attention模板,支撑推荐推理和传统推荐。 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 使用实例: https://github.com/xLLM-AI/xllm-ops/tree/main/xllm_ops/x_attention https://github.com/xLLM-AI/xllm-ops/tree/main/xllm_ops/x_flash_attention_infer 测试用例运行情况:[root@A03-R40-I191-99-4100006 python_test]# pytest test_x_attention_with_pa.py ============================================================================================================================================================== test session starts ============================================================================================================================================================== platform linux -- Python 3.11.15, pytest-8.3.2, pluggy-1.6.0 rootdir: /export/home/ext.wangguangcai1/code/github/xllm-ops/test/python_test plugins: forked-1.6.0, xdist-3.6.1, anyio-4.14.2 collected 1920 items test_x_attention_with_pa.py ............................................................................................................................................................................................................................................................................................................. [ 15%] ......................................................................................................................................................................................................................................................................................................................................... [ 32%] ......................................................................................................................................................................................................................................................................................................................................... [ 49%] ......................................................................................................................................................................................................................................................................................................................................... [ 67%] ......................................................................................................................................................................................................................................................................................................................................... [ 84%] ............................................................................................................................................................................................................................................................................................................... [100%] ======================================================================================================================================================= 1920 passed in 1516.38s (0:25:16) ======================================================================================================================================================= [root@A03-R40-I191-99-4100006 python_test]# ls RegisterOps.cpp pytorch_npu_helper.hpp test_causal_conv1d_qkv.py test_gamma_add_rms_norm.py test_layer_norm_fwd.py test_moe_gating_top_k_hash.py test_multi_latent_attention.py test_replace_token.py test_x_attention.py pycache setup.py test_causal_conv1d_update.py test_hc_post.py test_lightning_indexer_quant.py test_moe_grouped_matmul.py test_onerec_final_beam_select.py test_reshape_and_cache_a5.py test_x_attention_with_pa.py build test_add_rms_norm_bias.py test_compressor.py test_hc_pre_inv_rms.py test_lightning_indexer_quant_metadata.py test_moe_grouped_matmul_swiglu_quant.py test_pp_matmul_opt.py test_rms_norm_dynamic_quant.py test_x_flash_attention_infer.py build_and_run.sh test_beam_search.py test_convert_kv_cache_format.py test_hc_pre_sinkhorn.py test_mega_chunk_gdn.py test_moe_grouped_matmul_swiglu_quant_v2.py test_quant_lightning_indexer.py test_scatter_nd_update_v2.py custom_ops.egg-info test_beam_search_group.py test_dequant_swiglu_quant.py test_index_group_matmul.py test_moe_fused_add_topk.py test_moe_init_routing_custom.py test_quant_lightning_indexer_metadata.py test_select_unshared_kv.py custom_ops.py test_cache_unshared_kv.py test_dispatch_ffn_combine.py test_inplace_partial_rotary_mul.py test_moe_fused_reducesum_div.py test_moe_init_routing_v3.py test_rec_constrained_topk.py test_sparse_attn_sharedkv.py dist test_causal_conv1d.py test_dispatch_gmm_combine_decode.py test_laser_attention.py test_moe_gating_top_k.py test_mtp_prepare_next_draft.py test_recurrent_gated_delta_rule.py test_sparse_attn_sharedkv_metadata.py [root@A03-R40-I191-99-4100006 python_test]# [root@A03-R40-I191-99-4100006 python_test]# [root@A03-R40-I191-99-4100006 python_test]# ls RegisterOps.cpp pytorch_npu_helper.hpp test_causal_conv1d_qkv.py test_gamma_add_rms_norm.py test_layer_norm_fwd.py test_moe_gating_top_k_hash.py test_multi_latent_attention.py test_replace_token.py test_x_attention.py pycache setup.py test_causal_conv1d_update.py test_hc_post.py test_lightning_indexer_quant.py test_moe_grouped_matmul.py test_onerec_final_beam_select.py test_reshape_and_cache_a5.py test_x_attention_with_pa.py build test_add_rms_norm_bias.py test_compressor.py test_hc_pre_inv_rms.py test_lightning_indexer_quant_metadata.py test_moe_grouped_matmul_swiglu_quant.py test_pp_matmul_opt.py test_rms_norm_dynamic_quant.py test_x_flash_attention_infer.py build_and_run.sh test_beam_search.py test_convert_kv_cache_format.py test_hc_pre_sinkhorn.py test_mega_chunk_gdn.py test_moe_grouped_matmul_swiglu_quant_v2.py test_quant_lightning_indexer.py test_scatter_nd_update_v2.py custom_ops.egg-info test_beam_search_group.py test_dequant_swiglu_quant.py test_index_group_matmul.py test_moe_fused_add_topk.py test_moe_init_routing_custom.py test_quant_lightning_indexer_metadata.py test_select_unshared_kv.py custom_ops.py test_cache_unshared_kv.py test_dispatch_ffn_combine.py test_inplace_partial_rotary_mul.py test_moe_fused_reducesum_div.py test_moe_init_routing_v3.py test_rec_constrained_topk.py test_sparse_attn_sharedkv.py dist test_causal_conv1d.py test_dispatch_gmm_combine_decode.py test_laser_attention.py test_moe_gating_top_k.py test_mtp_prepare_next_draft.py test_recurrent_gated_delta_rule.py test_sparse_attn_sharedkv_metadata.py [root@A03-R40-I191-99-4100006 python_test]# pytest test_x_flash_attention_infer.py ============================================================================================================================================================== test session starts ============================================================================================================================================================== platform linux -- Python 3.11.15, pytest-8.3.2, pluggy-1.6.0 rootdir: /export/home/ext.wangguangcai1/code/github/xllm-ops/test/python_test plugins: forked-1.6.0, xdist-3.6.1, anyio-4.14.2 collected 3 items test_x_flash_attention_infer.py ... [100%] =============================================================================================================================================================== 3 passed in 6.89s =============================================================================================================================================================== [root@A03-R40-I191-99-4100006 python_test]# [root@A03-R40-I191-99-4100006 python_test]# [root@A03-R40-I191-99-4100006 python_test]# pytest test_x_attention.py ============================================================================================================================================================== test session starts ============================================================================================================================================================== platform linux -- Python 3.11.15, pytest-8.3.2, pluggy-1.6.0 rootdir: /export/home/ext.wangguangcai1/code/github/xllm-ops/test/python_test plugins: forked-1.6.0, xdist-3.6.1, anyio-4.14.2 collected 18 items test_x_attention.py .................. [100%] ========================================================================================================================================================= 18 passed in 69.31s (0:01:09) ========================================================================================================================================================= [root@A03-R40-I191-99-4100006 python_test]# ls ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1161 | 1 天前 | |
docs: 新增 Host API 参考并按源码生成英文稿 Co-authored-by: CheaterAbec<niyuhao2@huawei.com> # message auto-generated for no-merge-commit merge: !1130 merge dsl into master docs: 新增 Host API 参考并按源码生成英文稿 Created-by: CheaterAbec Commit-by: CheaterAbec Merged-by: cann-robot Description: ## 描述 新增 TLA DSL **Host API** 中英文参考文档,并按源码英文 docstring( Directory: + Description / Parameters / Constraints / Example)用 AST 生成英文稿。 主要改动: - 新增 docs/zh/api/host_api_reference.md(手工维护)与 docs/en/api/host_api_reference.md(自动生成) - 将 API 文档生成拆分为 tools/common.py + generate_kernel_api_reference.py + generate_host_api_reference.py(替换原单体 generate_api_reference.py) - Host 源码 docstring 收口公开面:@tla.kernel、tla.compile、TlaJitExecutor.launch / KernelLauncher.launch、dump_mlir、from_dlpack / make_fake_tensor、动态 layout 标记、@dataclass 入参约束等 - 章节按 Compile / Launch / Inspect 组织;同步更新 docs/zh/api/generate_api_docs.md 与中英文索引 - 已 rebase 到最新 master(适配 docs 框架重构后的 docs/*/api/ 路径),并按 stat/needs-squash 压成单提交 ## 关联的Issue 无 ## 原因 补齐 Host 侧公开 API 文档,使参考文档与源码 docstring 同源生成,避免手写漂移;与上游 DSL 文档框架对齐。 ## 测试 - python tools/generate_host_api_reference.py --check - python tools/generate_kernel_api_reference.py --check - pytest python/tla_dsl/tests/test_api_reference_generation.py ## 文档更新 - python/tla_dsl/docs/{zh,en}/api/host_api_reference.md - python/tla_dsl/docs/zh/api/generate_api_docs.md、docs/{zh,en}/index.md、docs/zh/api/index.md - 重新生成 docs/en/api/kernel_api_reference.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1130 | 16 小时前 | |
用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 个月前 | |
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 | 1 天前 | |
[refactor] mstuner使用aclrtGetDeviceInfo接口获取aicore_num和L2Cache size Co-authored-by: gong-siwei<gongsiwei@huawei.com> # message auto-generated for no-merge-commit merge: !966 merge 0728_l2cache_size into master [refactor] mstuner使用aclrtGetDeviceInfo接口获取aicore_num和L2Cache size Created-by: gong-siwei Commit-by: gong-siwei Merged-by: cann-robot Description: ## 描述 GetTiling 由 SoC 名称硬编码查表改为运行时调用 aclrtGetDeviceInfo 获取 AICore 数量与 L2 Cache 大小,删除静态映射表,入参由 socName 改为 deviceId 。 ## 关联的Issue https://gitcode.com/cann/catlass/issues/328 ## 原因 消除硬编码映射表,避免每新增芯片型号需手动维护,提升扩展性。 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 950测试: ================================ case_id : 354 task_duration(us) : 164.028 device_id : 0 operation : Gemm description : catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_256x256x128_256x256x32_swizzle3x1 l0_tile_shape : 256x256x32 l1_tile_shape : 256x256x128 swizzle : swizzle3x1 m : 256 n : 512 k : 1024 A : fp32:row B : fp32:row C : fp32:row ================================ Top 10: case_id,task_duration(us),device_id,operation,description,m,n,k,A,B,C 3,43.291,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x128_128x128x64_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row 1,43.395,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x128_128x128x32_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row 2,43.525,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x128_128x128x48_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row 5,43.643,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x144_128x128x48_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row 6,43.771,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x144_128x128x64_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row 4,43.799,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x144_128x128x32_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row 7,43.807,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x160_128x128x32_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row 8,43.813,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x160_128x128x48_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row 11,43.830,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x176_128x128x48_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row 15,44.041,0,Gemm,catlass_gemm_43_ascend950_basic_matmul_fp32xRowMajor_fp32xRowMajor_fp32xRowMajor_128x128x192_128x128x64_swizzle3x1,256,512,1024,fp32:row,fp32:row,fp32:row [INFO ] Save profile data to /home/xxx/catlass/results.csv success A2/A3测试:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!966 | 29 天前 | |
用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 个月前 | |
CATLASS_DSL代码迁移 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> Co-authored-by: yjp-hw<yanjiapeng1@huawei.com> Co-authored-by: CheaterAbec<niyuhao2@huawei.com> Co-authored-by: cann-robot<cann@cann.team> Co-authored-by: yuantao_<yuantao313@outlook.com> Co-authored-by: WinstonSmith<yukainan1@huawei.com> Co-authored-by: zjw666888<zhoujianwei4@huawei.com> Co-authored-by: weixin_42818618<zhusongxiang1@huawei.com> Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: arusso<alessio.russo@h-partners.com> Co-authored-by: tianxinghui<tianxinghui@huawei.com> Co-authored-by: mdrumond<mario.paulo.oliveira@huawei.com> # message auto-generated for no-merge-commit merge: !1122 merge master into master CATLASS_DSL代码迁移 Created-by: CheaterAbec Commit-by: CheaterAbec;yjp-hw;cann-robot;init__zhb__;zjw666888;yuantao_;tianxinghui;mdrumond;liyuanqiang;longjihui;arusso;weixin_42818618;wmg1;llqx-1;oscillated;lijiaming_hw;WinstonSmith;yuantao Merged-by: cann-robot Description: ## 描述 将 **cann/catlass dsl 分支**上的 TLA DSL(python/tla_dsl 及相关配套)合入 **master**,使 master 具备可构建、可运行的 Python TLA DSL 能力,同时保证仓根 C++ 头文件与当前 master 一致、不引入额外 include/ 改动。 ### 迁移起点 - **源分支**:cann/catlass 的 dsl 分支 - **源 tip(迁移起点)**:38128c8ce076b2ec9132d1cc10495e2852906715 - subject:文档内容低错整改与优化润色 - **目标基线**:合入时的 master tip 3dc2547f4762a0526da687a4498a74e195dfe2e2 - subject:feat(tile): add Ascend950 L0C-to-UB ColumnMajor specialization - **分叉点(merge-base)**:cc8edbd2122d5b71ccb45e9052ae8b8303b6131d - 自 merge-base 起,dsl 相对 master 约有 **192** 个独有提交;本 PR 以 rebase 方式重放这些提交(保留原作者),再叠一层公开树收口。 ### 迁移做法 1. 以 dsl tip 38128c8c 为源,将其相对 merge-base 的提交 **rebase** 到当时最新 master(3dc2547f),保留原 commit 作者信息。 2. 冲突处理策略: - **python/tla_dsl/****:保留 DSL 侧改动; - **非 python/tla_dsl 路径**(如 .gitignore / pre-commit / 仓根 docs / 仓根测试脚本、以及仓根 include/ 等):**一律以 master 为准**; - 因此本 PR **不携带** 相对 master 的仓根 include/ diff(L0C→UB ColumnMajor 等 C++ tile 特化已在 master,例如 !1124)。 3. DSL 侧额外保留端到端回归入口:tests/dsl_battery、tests/run_dsl_test.sh,以及必要的 .gitmodules。 4. 相对 dsl 做公开树收口(见下节「相比 dsl 的删减」),避免未就绪样例与全量单测树进入 master。 ### 相比 dsl 分支的删减 相对迁移起点 38128c8c,本 PR **额外删除 / 不带入** 以下内容: 1. **整棵** python/tla_dsl/tests/(含 pytest 与 lit),公开树不再提供全量单测 / lit 入口。 2. **未就绪或不完整的 e2e 样例**(python/tla_dsl/examples/end_to_end/ 下): - 无 README:dataclass_arg、lazy_conditions、scalar_arg_alignment、simt、tensor_index - 仅英文 README:cross_flag_two_way、debug_print、print_tensor - BSA:block_sparse_attention 3. 同步裁剪 tests/dsl_battery、tests/run_dsl_test.sh 以及 python/tla_dsl 文档 / README / pyproject.toml 中对上述测试与样例的入口说明。 **仍保留的 e2e**:basic_mixed、basic_mmad、basic_mmad_evg、basic_mmad_streamk、basic_vadd、batched_matmul、flash_attention_infer、grouped_matmul_slice_m、multi_core_splitk_matmul、vector_ops,以及共享目录 common。 ## 关联的Issue 无。 ## 原因 dsl 分支长期承载 TLA DSL 开发,需将其合入 master,便于主线使用与后续演进;合入时要求: - 保留 DSL 提交历史与作者; - 不扰动已在 master 落地的仓根 C++ / tile 特化; - 公开树只带可对外展示的 DSL 能力与中文 README 样例,去掉全量单测树与未就绪样例,降低主线噪音与维护面。 类型上属于「将 dsl 上的 TLA DSL 能力迁移合入 master」,并附带文档与样例收口。 ## 测试 本地环境:CANN 9.1.0-B070 + AscendNPU-IR,conda ascend-catlass-dsl。 - [x] python/tla_dsl:./build.sh --clean 通过 - [x] 公开树 e2e:仓根 tests/run_dsl_test.sh --device 5 → **156 passed** - [x] 确认相对合入基线 master:git diff <master-tip> -- include/ 为空 - [x] (基于 dsl 完整测试树的本地验证,不进入本 PR 公开树)pytest:**1479 passed, 7 skipped**;lit:**122 passed** ## 文档更新 - 更新 / 收敛 python/tla_dsl 侧 README、开发指南与相关文档中的测试 / 样例入口(去掉已删除的 pytest/lit 与下架 e2e 引用)。 - 保留并继续引用仍在树内的样例(如 vector_ops 等)。 - **未**改动仓根 AGENTS.md、仓根默认 build.sh / CI 对 tests/ 的策略说明(DSL 构建走 python/tla_dsl/build.sh)。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:将 dsl 分支 TLA DSL 以 rebase 方式合入 master,并相对 dsl 删减公开树单测与未就绪 e2e See merge request: cann/catlass!1122 | 7 天前 | |
CATLASS_DSL代码迁移 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> Co-authored-by: yjp-hw<yanjiapeng1@huawei.com> Co-authored-by: CheaterAbec<niyuhao2@huawei.com> Co-authored-by: cann-robot<cann@cann.team> Co-authored-by: yuantao_<yuantao313@outlook.com> Co-authored-by: WinstonSmith<yukainan1@huawei.com> Co-authored-by: zjw666888<zhoujianwei4@huawei.com> Co-authored-by: weixin_42818618<zhusongxiang1@huawei.com> Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: arusso<alessio.russo@h-partners.com> Co-authored-by: tianxinghui<tianxinghui@huawei.com> Co-authored-by: mdrumond<mario.paulo.oliveira@huawei.com> # message auto-generated for no-merge-commit merge: !1122 merge master into master CATLASS_DSL代码迁移 Created-by: CheaterAbec Commit-by: CheaterAbec;yjp-hw;cann-robot;init__zhb__;zjw666888;yuantao_;tianxinghui;mdrumond;liyuanqiang;longjihui;arusso;weixin_42818618;wmg1;llqx-1;oscillated;lijiaming_hw;WinstonSmith;yuantao Merged-by: cann-robot Description: ## 描述 将 **cann/catlass dsl 分支**上的 TLA DSL(python/tla_dsl 及相关配套)合入 **master**,使 master 具备可构建、可运行的 Python TLA DSL 能力,同时保证仓根 C++ 头文件与当前 master 一致、不引入额外 include/ 改动。 ### 迁移起点 - **源分支**:cann/catlass 的 dsl 分支 - **源 tip(迁移起点)**:38128c8ce076b2ec9132d1cc10495e2852906715 - subject:文档内容低错整改与优化润色 - **目标基线**:合入时的 master tip 3dc2547f4762a0526da687a4498a74e195dfe2e2 - subject:feat(tile): add Ascend950 L0C-to-UB ColumnMajor specialization - **分叉点(merge-base)**:cc8edbd2122d5b71ccb45e9052ae8b8303b6131d - 自 merge-base 起,dsl 相对 master 约有 **192** 个独有提交;本 PR 以 rebase 方式重放这些提交(保留原作者),再叠一层公开树收口。 ### 迁移做法 1. 以 dsl tip 38128c8c 为源,将其相对 merge-base 的提交 **rebase** 到当时最新 master(3dc2547f),保留原 commit 作者信息。 2. 冲突处理策略: - **python/tla_dsl/****:保留 DSL 侧改动; - **非 python/tla_dsl 路径**(如 .gitignore / pre-commit / 仓根 docs / 仓根测试脚本、以及仓根 include/ 等):**一律以 master 为准**; - 因此本 PR **不携带** 相对 master 的仓根 include/ diff(L0C→UB ColumnMajor 等 C++ tile 特化已在 master,例如 !1124)。 3. DSL 侧额外保留端到端回归入口:tests/dsl_battery、tests/run_dsl_test.sh,以及必要的 .gitmodules。 4. 相对 dsl 做公开树收口(见下节「相比 dsl 的删减」),避免未就绪样例与全量单测树进入 master。 ### 相比 dsl 分支的删减 相对迁移起点 38128c8c,本 PR **额外删除 / 不带入** 以下内容: 1. **整棵** python/tla_dsl/tests/(含 pytest 与 lit),公开树不再提供全量单测 / lit 入口。 2. **未就绪或不完整的 e2e 样例**(python/tla_dsl/examples/end_to_end/ 下): - 无 README:dataclass_arg、lazy_conditions、scalar_arg_alignment、simt、tensor_index - 仅英文 README:cross_flag_two_way、debug_print、print_tensor - BSA:block_sparse_attention 3. 同步裁剪 tests/dsl_battery、tests/run_dsl_test.sh 以及 python/tla_dsl 文档 / README / pyproject.toml 中对上述测试与样例的入口说明。 **仍保留的 e2e**:basic_mixed、basic_mmad、basic_mmad_evg、basic_mmad_streamk、basic_vadd、batched_matmul、flash_attention_infer、grouped_matmul_slice_m、multi_core_splitk_matmul、vector_ops,以及共享目录 common。 ## 关联的Issue 无。 ## 原因 dsl 分支长期承载 TLA DSL 开发,需将其合入 master,便于主线使用与后续演进;合入时要求: - 保留 DSL 提交历史与作者; - 不扰动已在 master 落地的仓根 C++ / tile 特化; - 公开树只带可对外展示的 DSL 能力与中文 README 样例,去掉全量单测树与未就绪样例,降低主线噪音与维护面。 类型上属于「将 dsl 上的 TLA DSL 能力迁移合入 master」,并附带文档与样例收口。 ## 测试 本地环境:CANN 9.1.0-B070 + AscendNPU-IR,conda ascend-catlass-dsl。 - [x] python/tla_dsl:./build.sh --clean 通过 - [x] 公开树 e2e:仓根 tests/run_dsl_test.sh --device 5 → **156 passed** - [x] 确认相对合入基线 master:git diff <master-tip> -- include/ 为空 - [x] (基于 dsl 完整测试树的本地验证,不进入本 PR 公开树)pytest:**1479 passed, 7 skipped**;lit:**122 passed** ## 文档更新 - 更新 / 收敛 python/tla_dsl 侧 README、开发指南与相关文档中的测试 / 样例入口(去掉已删除的 pytest/lit 与下架 e2e 引用)。 - 保留并继续引用仍在树内的样例(如 vector_ops 等)。 - **未**改动仓根 AGENTS.md、仓根默认 build.sh / CI 对 tests/ 的策略说明(DSL 构建走 python/tla_dsl/build.sh)。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:将 dsl 分支 TLA DSL 以 rebase 方式合入 master,并相对 dsl 删减公开树单测与未就绪 e2e See merge request: cann/catlass!1122 | 7 天前 | |
docs(dsl): refactor DSL docs framework and integrate to origin docs Co-authored-by: Yuan Tao<yuantao313@outlook.com> Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: atomgit-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !1159 merge dsl_doc into master docs(dsl): refactor DSL docs framework and integrate to origin docs Created-by: yuantao_ Commit-by: yuantao;atomgit-bot;Yuan Tao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 建立DSL的文档框架,并整合到文档站框架。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1159 | 2 天前 | |
Add mkdocs configuration and reorganized docs for web page Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !1006 merge mkdocs into master Add mkdocs configuration and reorganized docs for web page Created-by: yuantao_ Commit-by: yuantao;gitcode-bot Merged-by: cann-robot Description: ## 描述 增加mkdocs配置文件并进行资源整理,适配文档编译框架 同时修正一些错误,补充学习资料#373 #371 #354 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1006 | 26 天前 | |
补充A2/A3到Ascend950迁移工作流Skill Co-authored-by: zhaohujie<zhaohujie@huawei.com> # message auto-generated for no-merge-commit merge: !1067 merge feat/catlass-ascend950-migration-skill-pr into master 补充A2/A3到Ascend950迁移工作流Skill Created-by: zhaohujie Commit-by: zhaohujie Merged-by: cann-robot Description: 补充A2/A3到Ascend950迁移工作流Skill: ## 关联Issue https://gitcode.com/cann/catlass/issues/402 ## 背景 CATLASS 存量示例中有一部分非tla开发的AtlasA2/A3算子,如果想在Ascend950复用这些算子的话,要做额外的迁移工作。 当前迁移完全依赖人工逐个操作,存在以下问题: - 目标目录结构、构建入口、注册点、CPU 标杆等约定分散在各处,靠经验推断,容易遗漏或误判; - "编译通过"经常被误当作"迁移完成",缺少统一的上板精度证明标准; - 共享组件(policy、校验器、搬运包装等)被改动时,其现有使用方的回归影响无人追踪; - 迁移过程无留痕,事后无法回答"改了什么、为什么改、精度结论依据是什么"。 同时,Ascend950 上存在一些特殊的性能优化通路,比如 L0C→UB (替代 L0C→GM→UB 绕行),需要一套可复用、有门禁的筛查与应用流程。 ## skill简述 本 PR 引入 catlass-ascend950-migration Skill,为 AI Agent(Claude Code / 兼容 Agent 框架)提供一套**证据驱动、人工门禁**的批量迁移工作流: - **降低迁移成本**:Agent 按标准化流程自动完成探测(PROBE)、分析(ANALYZE)、实现(IMPLEMENT)、验证(PROVE),人工只需在关键决策点介入; - **保证迁移质量**:COMPILED ≠ PROVEN —— 精度结论只能由匹配的 A5 硬件上 errors == 0 的实测建立,编译成功、退出码、成功字符串均不构成精度证明; - **契约不变**:数据类型、布局、命令行参数、CPU 标杆、容忍度、computeNum 全部冻结,杜绝迁移过程中悄悄改变算子行为; - **全程可审计**:所有决策逐字留痕(events.jsonl 只追加),最终报告对未能确立的结论显式标注 **Not established**,不夸大不虚报; - **附带优化能力**:对已验证的 Gemm 类单元,可筛查并应用 L0C→UB 直达通路改写(SPLIT_M/NO_SPLIT 两种交付模式),且改写后必须原样重新证明精度。 See merge request: cann/catlass!1067 | 19 天前 | |
2.0.0版本changeLog+README更新 Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !1032 merge tag_release into master 2.0.0版本changeLog+README更新 Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 总结CATLASS master分支从v1.6.0 tag 到 v2.0.0 tag 的相关更新。更新changeLog、README相关内容 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1032 | 7 天前 | |
文档低错整改 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 个月前 | |
补充A2/A3到Ascend950迁移工作流Skill Co-authored-by: zhaohujie<zhaohujie@huawei.com> # message auto-generated for no-merge-commit merge: !1067 merge feat/catlass-ascend950-migration-skill-pr into master 补充A2/A3到Ascend950迁移工作流Skill Created-by: zhaohujie Commit-by: zhaohujie Merged-by: cann-robot Description: 补充A2/A3到Ascend950迁移工作流Skill: ## 关联Issue https://gitcode.com/cann/catlass/issues/402 ## 背景 CATLASS 存量示例中有一部分非tla开发的AtlasA2/A3算子,如果想在Ascend950复用这些算子的话,要做额外的迁移工作。 当前迁移完全依赖人工逐个操作,存在以下问题: - 目标目录结构、构建入口、注册点、CPU 标杆等约定分散在各处,靠经验推断,容易遗漏或误判; - "编译通过"经常被误当作"迁移完成",缺少统一的上板精度证明标准; - 共享组件(policy、校验器、搬运包装等)被改动时,其现有使用方的回归影响无人追踪; - 迁移过程无留痕,事后无法回答"改了什么、为什么改、精度结论依据是什么"。 同时,Ascend950 上存在一些特殊的性能优化通路,比如 L0C→UB (替代 L0C→GM→UB 绕行),需要一套可复用、有门禁的筛查与应用流程。 ## skill简述 本 PR 引入 catlass-ascend950-migration Skill,为 AI Agent(Claude Code / 兼容 Agent 框架)提供一套**证据驱动、人工门禁**的批量迁移工作流: - **降低迁移成本**:Agent 按标准化流程自动完成探测(PROBE)、分析(ANALYZE)、实现(IMPLEMENT)、验证(PROVE),人工只需在关键决策点介入; - **保证迁移质量**:COMPILED ≠ PROVEN —— 精度结论只能由匹配的 A5 硬件上 errors == 0 的实测建立,编译成功、退出码、成功字符串均不构成精度证明; - **契约不变**:数据类型、布局、命令行参数、CPU 标杆、容忍度、computeNum 全部冻结,杜绝迁移过程中悄悄改变算子行为; - **全程可审计**:所有决策逐字留痕(events.jsonl 只追加),最终报告对未能确立的结论显式标注 **Not established**,不夸大不虚报; - **附带优化能力**:对已验证的 Gemm 类单元,可筛查并应用 L0C→UB 直达通路改写(SPLIT_M/NO_SPLIT 两种交付模式),且改写后必须原样重新证明精度。 See merge request: cann/catlass!1067 | 19 天前 | |
用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 个月前 | |
文档低错整改 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 个月前 | |
补充A2/A3到Ascend950迁移工作流Skill Co-authored-by: zhaohujie<zhaohujie@huawei.com> # message auto-generated for no-merge-commit merge: !1067 merge feat/catlass-ascend950-migration-skill-pr into master 补充A2/A3到Ascend950迁移工作流Skill Created-by: zhaohujie Commit-by: zhaohujie Merged-by: cann-robot Description: 补充A2/A3到Ascend950迁移工作流Skill: ## 关联Issue https://gitcode.com/cann/catlass/issues/402 ## 背景 CATLASS 存量示例中有一部分非tla开发的AtlasA2/A3算子,如果想在Ascend950复用这些算子的话,要做额外的迁移工作。 当前迁移完全依赖人工逐个操作,存在以下问题: - 目标目录结构、构建入口、注册点、CPU 标杆等约定分散在各处,靠经验推断,容易遗漏或误判; - "编译通过"经常被误当作"迁移完成",缺少统一的上板精度证明标准; - 共享组件(policy、校验器、搬运包装等)被改动时,其现有使用方的回归影响无人追踪; - 迁移过程无留痕,事后无法回答"改了什么、为什么改、精度结论依据是什么"。 同时,Ascend950 上存在一些特殊的性能优化通路,比如 L0C→UB (替代 L0C→GM→UB 绕行),需要一套可复用、有门禁的筛查与应用流程。 ## skill简述 本 PR 引入 catlass-ascend950-migration Skill,为 AI Agent(Claude Code / 兼容 Agent 框架)提供一套**证据驱动、人工门禁**的批量迁移工作流: - **降低迁移成本**:Agent 按标准化流程自动完成探测(PROBE)、分析(ANALYZE)、实现(IMPLEMENT)、验证(PROVE),人工只需在关键决策点介入; - **保证迁移质量**:COMPILED ≠ PROVEN —— 精度结论只能由匹配的 A5 硬件上 errors == 0 的实测建立,编译成功、退出码、成功字符串均不构成精度证明; - **契约不变**:数据类型、布局、命令行参数、CPU 标杆、容忍度、computeNum 全部冻结,杜绝迁移过程中悄悄改变算子行为; - **全程可审计**:所有决策逐字留痕(events.jsonl 只追加),最终报告对未能确立的结论显式标注 **Not established**,不夸大不虚报; - **附带优化能力**:对已验证的 Gemm 类单元,可筛查并应用 L0C→UB 直达通路改写(SPLIT_M/NO_SPLIT 两种交付模式),且改写后必须原样重新证明精度。 See merge request: cann/catlass!1067 | 19 天前 | |
增加dockerfile Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !551 merge master into master 增加dockerfile Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!551 | 4 个月前 | |
增加dockerfile Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !551 merge master into master 增加dockerfile Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!551 | 4 个月前 | |
用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 个月前 | |
Add mkdocs configuration and reorganized docs for web page Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !1006 merge mkdocs into master Add mkdocs configuration and reorganized docs for web page Created-by: yuantao_ Commit-by: yuantao;gitcode-bot Merged-by: cann-robot Description: ## 描述 增加mkdocs配置文件并进行资源整理,适配文档编译框架 同时修正一些错误,补充学习资料#373 #371 #354 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1006 | 26 天前 | |
用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 个月前 | |
docs(dsl): refactor DSL docs framework and integrate to origin docs Co-authored-by: Yuan Tao<yuantao313@outlook.com> Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: atomgit-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !1159 merge dsl_doc into master docs(dsl): refactor DSL docs framework and integrate to origin docs Created-by: yuantao_ Commit-by: yuantao;atomgit-bot;Yuan Tao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 建立DSL的文档框架,并整合到文档站框架。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1159 | 2 天前 | |
Add mkdocs configuration and reorganized docs for web page Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !1006 merge mkdocs into master Add mkdocs configuration and reorganized docs for web page Created-by: yuantao_ Commit-by: yuantao;gitcode-bot Merged-by: cann-robot Description: ## 描述 增加mkdocs配置文件并进行资源整理,适配文档编译框架 同时修正一些错误,补充学习资料#373 #371 #354 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1006 | 26 天前 | |
整改文档部分描述符合开源规范 Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !930 merge debug into master 整改文档部分描述符合开源规范 Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改文档部分描述,如torchNPU、ascend950支持、社区CANN包、社区版等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!930 | 1 个月前 | |
整改文档部分描述符合开源规范 Co-authored-by: sunhao_hw<sunhao203@huawei.com> # message auto-generated for no-merge-commit merge: !930 merge debug into master 整改文档部分描述符合开源规范 Created-by: sunhao_hw Commit-by: sunhao_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改文档部分描述,如torchNPU、ascend950支持、社区CANN包、社区版等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!930 | 1 个月前 | |
用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 个月前 | |
添加 OAT.xml 及 Third_Party_Open_Source_Software_Notice Co-authored-by: zhanghaobo<zhanghaobo6@huawei.com> | 10 个月前 | |
增加依赖描述文件 Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !609 merge dep into master 增加依赖描述文件 Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!609 | 3 个月前 | |
用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 个月前 | |
用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 个月前 | |
用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 个月前 | |
用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 个月前 | |
用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 个月前 | |
docs(dsl): refactor DSL docs framework and integrate to origin docs Co-authored-by: Yuan Tao<yuantao313@outlook.com> Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: atomgit-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !1159 merge dsl_doc into master docs(dsl): refactor DSL docs framework and integrate to origin docs Created-by: yuantao_ Commit-by: yuantao;atomgit-bot;Yuan Tao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 建立DSL的文档框架,并整合到文档站框架。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1159 | 2 天前 | |
docs(dsl): refactor DSL docs framework and integrate to origin docs Co-authored-by: Yuan Tao<yuantao313@outlook.com> Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: atomgit-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !1159 merge dsl_doc into master docs(dsl): refactor DSL docs framework and integrate to origin docs Created-by: yuantao_ Commit-by: yuantao;atomgit-bot;Yuan Tao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 建立DSL的文档框架,并整合到文档站框架。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1159 | 2 天前 | |
Add mkdocs configuration and reorganized docs for web page Co-authored-by: yuantao<taoyuan18@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !1006 merge mkdocs into master Add mkdocs configuration and reorganized docs for web page Created-by: yuantao_ Commit-by: yuantao;gitcode-bot Merged-by: cann-robot Description: ## 描述 增加mkdocs配置文件并进行资源整理,适配文档编译框架 同时修正一些错误,补充学习资料#373 #371 #354 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!1006 | 26 天前 | |
补充python依赖 Co-authored-by: yuantao<taoyuan18@huawei.com> # message auto-generated for no-merge-commit merge: !742 merge dep into master 补充python依赖 Created-by: yuantao_ Commit-by: yuantao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> ## 原因 <!--说明此次改动的目的、解决的问题等,应与类型标签匹配 --> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/catlass!742 | 2 个月前 |
CATLASS
Latest News
-
[2026/08] v2.0.0 发布:正式上线CATLASS DSL支持Pythonic Kernel,原生支持Tile编程。基于 MLIR 编译栈与 AscendNPU-IR 工具链,将 Python 描述自动转换为高性能可执行 Kernel,相比 CATLASS C++ 编译时间缩短 80%+,代码开发更简洁,高性能表现一致,并提供 8 个端到端样例,覆盖矩阵乘(Basic Mmad、StreamK、Multi Core SplitK、Batched、Grouped Matmul 等)、注意力(Flash Attention Infer)等场景;新增 catlass_cppgen 代码生成框架,支持自动生成 C++ 核函数代码;新增Ascend950算子样例6个(如Svd Quant Matmul、A8W4 Grouped MX Matmul等)、AtlasA2算子样例3个(Symm、Trmm、Planar Complex Matmul)。
-
[2026/06] v1.6.0 发布:新增 MXFP8 / MXFP4 量化模板、EVG 声明式后处理框架、基于 Mutex 同步原语的 BlockMmad;新增 Ascend950 Tile 层组件 及全量 单元测试;新增 算子级测试框架(optest);新增 16 个Ascend950算子样例(如 StreamK Matmul、Flash Attention Chunk Prefill、Conv2d 等)。
-
[2026/04] v1.5.0 发布:新增 Ascend950 系列样例(如 基础 Matmul、Flash Attention 推理、Per-Group & Per-Block Quant Matmul TLA 等)、TLA 能力增强(含
origin_shape、TileView等);Matmul 泛化工程 新增 103 动态 W8A8 Per-Token 量化。
更多最新消息
-
[2026/03] 主线正式开始新增对下一代昇腾硬件Ascend 950 系列产品的支持
-
[2026/02] v1.4.0发布,新增 StreamK Matmul、W4A4 Matmul、Sparse Matmul等示例
-
[2025/12] v1.3.0发布,支持
FixPipe随路量化,Matmul泛化工程新增多个模板,并新增INT4反量化、2D卷积等示例 -
[2025/10] v1.2.0发布,新增Matmul算子泛化等示例
-
[2025/09] CATLASS模板库正式开源
请参阅CHANGELOG以查看当前及历史版本的详细更新内容。
📌 简介
CATLASS(CANN Templates for Linear Algebra Subroutines),中文名为昇腾算子模板库,是一个聚焦于提供高性能矩阵乘类算子基础模板的代码库。
通过抽象分层的方式将矩阵类算子代码模板化,从而实现算子计算逻辑的白盒化组装,让算子代码可复用,可替换,可局部修改。针对昇腾硬件特点进行设计,可以支持复杂场景流水排布,如Flash Attention等算子。在上层代码逻辑共享的同时,支持底层硬件差异特化。
模板库针对定制场景使能快速开发能力,提供不同场景下的性能优化模块供开发者组装定制,在定制shape下的性能能达到相应算子标杆性能的0.98~1.2倍。
本代码库为CATLASS联创代码仓。结合昇腾生态力量,共同设计研发算子模板,并提供典型算子的高性能实现代码样例,概述详情参考CATLASS项目介绍。CATLASS DSL 详情参考CATLASS DSL 介绍
⚡️ 快速上手
为快速体验CATLASS的算子开发与使用,请参考下述内容。
-
快速入门:快速上手模板库使用,编译执行已有的算子样例。
-
基础开发指南:以基础Matmul算子为例,介绍基于CATLASS的算子开发实践;
-
开发者实践: 从算子各层代码编写至编译测试,再到Tiling调优与算子优化,从新手到进阶的实践示例。
-
CATLASS DSL 快速开始:CATLASS DSL的环境准备、编译测试、API接口文档等上手路径总入口。
📚 进阶参考
下述资料可助力您深入开展CATLASS算子的开发与调优,实现更优性能的GEMM类算子。
-
创新样例开发流程指南:从需求分析、方案设计到组件开发、测试合入的完整流程,帮助开发者快速掌握创新样例的开发方法;
-
矩阵乘模板总结:介绍模板库的Matmul理论模板和工程优化点,帮助开发者进行Matmul性能调优;
-
CATLASS设计总结: 汇总CATLASS工程的样例算法设计、swizzle策略、TLA设计等文档。
-
CATLASS API: 介绍CATLASS的分层特征与通用矩阵乘法GEMM API。
📁 目录结构说明
关键目录如下,详细目录参见项目目录。
catlass
├── 3rdparty # 三方依赖
├── cmake # 工程配置
├── docs # 文档
├── examples # 算子样例
├── include # 模板头文件
├── python # python类框架
├── scripts # 脚本
├── tests # 测试
└── tools # 工具
💻 软硬件配套说明
CATLASS所需的软硬件环境依赖如下:
- 昇腾产品:
- Atlas A2 训练系列产品 / Atlas A2 推理系列产品
- Atlas A3 训练系列产品 / Atlas A3 推理系列产品
- Ascend 950 系列产品
- CPU架构:
aarch64/x86_64 - 系统:CANN支持的Linux(进行兼容性查询)
- CATLASS C++ 软件依赖:
gcc>= 7.5, < 13.0cmake>= 3.16python>= 3.8, < 3.12 (如需编译单元测试,需gcc<= 12.0)
- CATLASS DSL 软件依赖请参考CATLASS-DSL README
不同CATLASS发行版可支持的硬件平台及所需的最低CANN版本如下表:
| CATLASS版本 | 最低支持CANN包版本 | 支持昇腾产品 |
|---|---|---|
| 当前 | 8.5.0 9.0.0(Ascend 950 系列产品) 9.1.0(CATLASS-DSL Ascend 950 系列产品) |
Atlas A2 训练系列产品 / Atlas A2 推理系列产品 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 Ascend 950 系列产品 |
| v2.0.0 | 8.5.0 9.0.0(Ascend 950 系列产品) 9.1.0(CATLASS-DSL Ascend 950 系列产品) |
Atlas A2 训练系列产品 / Atlas A2 推理系列产品 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 Ascend 950 系列产品 |
| v1.6.0 | 8.5.0 9.0.0(Ascend 950 系列产品) |
Atlas A2 训练系列产品 / Atlas A2 推理系列产品 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 Ascend 950 系列产品 |
| v1.5.0 | 8.2.RC1 9.0.0(Ascend 950 系列产品) |
Atlas A2 训练系列产品 / Atlas A2 推理系列产品 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 Ascend 950 系列产品 |
| v1.4.0~v1.2.2 | 8.2.RC1 | Atlas A2 训练系列产品 / Atlas A2 推理系列产品 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 |
| v1.2.1~v1.0.0 | 8.2.RC1.alpha002 | Atlas A2 训练系列产品 / Atlas A2 推理系列产品 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 |
- 若您需要使用
TorchNPU进行精度测试等辅助开发,需要安装cann-ops包(如cann-910b-ops/cann-a3-ops/cann-950-ops)以调用其中的算子实现。在Ascend 950 系列产品中,cann-950-ops仅在CANN 9.0.0正式版及以上的版本提供。 - 为保证使用体验,请优先使用CANN正式版,beta版本可能存在兼容性问题。
下述环境经测试支持当前CATLASS构建:
| 系统 | CANN |
gcc |
cmake |
python |
|---|---|---|---|---|
| Ubuntu 20.04.5 | 8.5.0 | 9.3 | 3.16 | 3.10 |
| Ubuntu 22.04.5 | 8.5.0 | 11.3 | 3.22 | 3.10 |
| openEuler 22.03 SP4 | 8.5.0 | 10.3 | 3.22 | 3.10 |
| Ubuntu 22.04.5 (编译950样例) | 9.0.0 | 11.3 | 3.22 | 3.10 |