| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Feat: 新增算子README开发模板与编译运行样例文档 Co-authored-by: zhanghua145<zhanghua25@mails.ucas.ac.cn> # message auto-generated for no-merge-commit merge: !52 merge feat/develop-docs-template into master Feat: 新增算子README开发模板与编译运行样例文档 Created-by: zhanghua145 Commit-by: zhanghua145 Merged-by: cann-robot Description: ## 变更说明 从 ops-blas 仓迁移算子 README 开发模板和编译运行样例文档到 ops-sparse 仓,并适配 sparse 仓的接口类型和规范。 关联 Issue: #91 ### 新增文件 - docs/zh/develop/readme_develop_guide.md:算子 README 模板 - docs/zh/develop/compile_and_run_example.md:编译与运行样例 ### 修改文件 - src/csrgeam2/README.md:修复编译运行样例链接路径 - src/nnz/README.md:修复编译运行样例链接路径 ### 模板适配要点 | 适配项 | blas 模板 | sparse 模板 | |--------|----------|------------| | 头文件 | cann_ops_blas.h | cann_ops_sparse.h | | 句柄类型 | aclblasHandle_t | aclsparseHandle_t | | 状态码 | ACLBLAS_STATUS_SUCCESS | ACL_SPARSE_STATUS_SUCCESS | | SOC 支持 | ascend910b, ascend910_93, ascend950 | 额外支持 ascend310p | | 安装产物 | cann_ops_blas.h, libops_blas.so | cann_ops_sparse.h, libops_sparse.so | | 示例接口 | aclblasSscal | aclsparseSnnz | ### sparse 专属新增 1. MatDescr 创建与销毁占位 2. PointerMode 设置占位 3. 多步调用流程说明(bufferSize -> Nnz -> Compute) 4. 支持的稀疏格式章节占位(CSR/COO/CSC) 5. 预期输出占位 6. cmake 最低版本对齐 sparse 仓要求(3.16) ### 与 sparse 仓规范对齐 - 返回值统一为 ACL_SPARSE_STATUS_SUCCESS - 交叉引用链接使用短路径 compile_and_run_example.md - 满足 sparse 仓 README 审查清单 9 项检查要求 ### 样例成功运行展示  See merge request: cann/ops-sparse!52 | 3 个月前 | |
fix: 修复文档与仓库结构不一致问题,补充贡献指南 Co-authored-by: rueenov11<zhuruyi@huawei.com> # message auto-generated for no-merge-commit merge: !16 merge fix_docs into master fix: 修复文档与仓库结构不一致问题,补充贡献指南 Created-by: rueenov11 Commit-by: rueenov11 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 修复 README 目录结构与实际仓库不一致 - 移除内联的错误目录树( example 、 tests ),替换为指向独立目录结构文档的链接 - 新增说明:当前算子调用样例位于 test/ 目录下, examples/ 为预留目录 - 新建 docs/zh/install/dir_structure.md ,准确描述仓库真实目录层级 2. 修复 QuickStart 中路径描述错误 - sparse/src/spmv_kernel.cpp → src/spmv/spmv_kernel.cpp (共 2 处) 3. README 增加版本兼容说明 - 新增"🛠️环境准备"和"⬇️源码下载"章节,在 README 级别明确 CANN 版本配套关系 - 注明"本项目仅支持CANN 8.5.0及后续版本",并链接至 release 仓库 4. Python 依赖补充版本范围 - requirements.txt 中各包名补充经过验证的版本范围(如 numpy>=1.21,<2 、 protobuf>=3.20,<6 ) 5. 接口文档补充能力边界备注 - docs/zh/api_list.md 末尾新增"备注"章节,说明接口能力以当前实现版本为准,详细限制参考各算子 README 及头文件注释 6. 补充贡献指南 - 新建 CONTRIBUTING.md ,包含新算子贡献、Bug修复、算子优化、文档纠错等贡献场景的完整流程 - 交付件目录结构适配 ops-sparse 仓实际结构( src/${operator}/ 、 test/${operator}/ ) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-sparse/issues/7 https://gitcode.com/cann/ops-sparse/issues/10 https://gitcode.com/cann/ops-sparse/issues/14 https://gitcode.com/cann/ops-sparse/issues/15 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-sparse!16 | 4 个月前 | |
docs: aclsparseLt 描述符文档更名整理并清理 UT 构建忽略配置 Co-authored-by: zhengyifei<yiwaiii@mail.ustc.edu.cn> # message auto-generated for no-merge-commit merge: !108 merge docs/sparseLt-descriptor-readme into master docs: aclsparseLt 描述符文档更名整理并清理 UT 构建忽略配置 Created-by: zhengyifei Commit-by: zhengyifei Merged-by: cann-robot Description: ## 描述 将 aclsparseLt Mat/matmul 描述符 README 文档从单一接口说明整理为整个描述符类接口说明。同时清理.gitnore冗余配置。 ## 关联的Issue https://gitcode.com/cann/ops-sparse/issues/162 ## 测试 纯文档 + 配置变更,无代码改动。已做 CP5 检视。 ## 文档更新 - sparseLt/common/aclsparseLtMatmulDescriptorInit_README.md(更名 + 整理为 aclsparseLtDescriptor_README.md) - docs/zh/install/dir_structure.md(目录结构中 README 文件名同步更新) - .gitignore(移除误引入的 build_ut*/ 构建目录忽略配置) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:清理 .gitignore 冗余配置(build_ut*/) See merge request: cann/ops-sparse!108 | 2 个月前 | |
feat(prune): 新增 aclsparseLtSpMMAPrune 2:4 结构化稀疏剪枝算子 Co-authored-by: wang-zhiyue2<wangzhiyue2@huawei.com> # message auto-generated for no-merge-commit merge: !117 merge feat/prune-standalone into master feat(prune): 新增 aclsparseLtSpMMAPrune 2:4 结构化稀疏剪枝算子 Created-by: wang-zhiyue2 Commit-by: wang-zhiyue2 Merged-by: cann-robot Description: ## 描述 新增 aclsparseLtSpMMAPrune 算子,对标 NVIDIA cuSPARSELt 的 cusparseLtSpMMAPrune,对稠密矩阵执行 2:4 结构化稀疏剪枝,输出与输入同型的稠密存储矩阵(被置零元素以 0 表示)。该算子是结构化稀疏矩阵乘法的前置步骤。 **核心特性:** - 剪枝对象由 Matmul 描述符中 matA/matB 的 sparsity 字段决定:matA 为 ACL_SPARSE_LT_SPARSITY_50_PERCENT 时剪枝矩阵 A(A-sparse),matB 为 ACL_SPARSE_LT_SPARSITY_50_PERCENT 时剪枝矩阵 B(B-sparse) - 支持两种剪枝算法:STRIP(逐分组剪枝)与 TILE(逐 tile 剪枝,4x4 tile 内行/列联合约束,90 种有效配置) - 支持 4 种数据类型:FP32 / FP16 / BF16 / INT8 - 支持转置路径:transA/transB 通过切换剪枝方向实现,转置写回已向量化(TransDataTo5HD) - 目标平台:Ascend 950PR / 950DT(arch35 / DAV_3510) **新增文件:** - sparseLt/prune/arch35/prune_host.cpp:Host 侧 Tiling 计算 + kernel launch(tiling by value,异步执行,无额外 device 存储) - sparseLt/prune/arch35/prune_kernel.cpp:Kernel 侧实现,STRIP/TILE 双算法 dispatch,沿行向量化(Cast+Abs+Mul keepMask)+ 沿列标量回退 - sparseLt/prune/arch35/prune_kernel.h:Kernel launcher 声明 - sparseLt/prune/README.md:算子文档 - sparseLt/shared/aclsparselt_internal.h:裁剪版共享内部头(TilingData 结构 + md_* helper + 常量宏) - sparseLt/shared/aclsparselt_host.cpp:共享平台查询函数(get_cube_core_num / get_ub_size) - test/prune/:完整测试工程(golden / param / npu_wrapper / test.cpp / csv) **接口签名:** c aclsparseStatus_t aclsparseLtSpMMAPrune( aclsparseLtConstHandle_t handle, aclsparseLtConstMatmulDescriptor_t* matmulDescr, const void* d_in, void* d_out, aclsparseLtPruneAlg_t pruneAlg, aclrtStream stream); ## 关联的Issue ## 测试 - GTest + CSV 驱动的精度 ST,覆盖 L0/L1/L2 分级 - prune 算子共 65 个测试用例:57 功能精度 + 7 异常路径 + 1 结构属性验证 - 覆盖 4 dtype × STRIP/TILE × 转置 × A-sparse/B-sparse × k奇数 × 非对齐shape - CPU golden 参考实现独立于 kernel(SpMMAPruneGolden) - 全量回归通过(ascend950)  ## 文档更新 - 新增 sparseLt/prune/README.md:算子使用文档 - 更新 docs/zh/api_list.md:追加 prune API 接口文档 - 更新 include/cann_ops_sparseLt.h:追加 SpMMAPrune 声明 + Const 类型定义 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-sparse!117 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 2 个月前 |