| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: 新增 aclsparseXcoo2csr 算子 Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !78 merge feat-coo2csr into master feat: 新增 aclsparseXcoo2csr 算子 Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 新增 aclsparseXcoo2csr 算子,实现 COO 格式行索引数组到 CSR 格式行指针数组的转换。 **算子功能**:给定已按行非递减排序的 COO 行索引数组 cooRowInd[0..nnz-1],统计每行非零元素个数,再通过排他前缀和生成 CSR 行指针数组 csrRowPtr[0..m]。 **实现要点**: - 基于 Ascend950(DAV_3510)架构 SIMT 编程模型 - 行计数阶段采用游程编码(RLE)局部计数策略,减少原子竞争 - 前缀和阶段支持三级执行路径:融合 kernel(m/nnz <= 1024)、单核串行、多核并行(m > 1024,3 阶段:局部前缀和 → 块间归约 → 偏移修正) - 完整处理 m=0、nnz=0、0-based/1-based 索引基址等边界场景 - workspace 不足时返回 ACL_SPARSE_STATUS_INSUFFICIENT_RESOURCES,调用方须通过 aclsparseSetWorkspace 提供足够空间 **交付文件**(12 个): - 算子源码 5 个:sparse/coo2csr/arch35/ 下 host/kernel/tiling - 算子文档 1 个:sparse/coo2csr/README.md(按仓内模板 docs/zh/develop/readme_develop_guide.md 编写) - 测试代码 6 个:test/coo2csr/ 下测试用例、golden、参数、CSV - 公共头文件修改 1 个:include/cann_ops_sparse.h(+29 行 API 声明) ## 关联的Issue [#114](https://gitcode.com/cann/ops-sparse/issues/114) ## 测试 ST 测试 51/51 PASSED(41 功能 + 10 异常),覆盖以下场景: - 正常用例:多种矩阵规模(4×4 ~ 1048576×1)、不同稀疏度 - 边界用例:m=0、nnz=0(idxBase=0/1) - 索引基址:0-based 和 1-based 均覆盖 - 大规模矩阵:m > 1024 触发多核并行前缀和路径 - 小规模矩阵:m/nnz <= 1024 触发融合 kernel 路径 - 异常用例:null handle/pointer、负 nnz/m、无效 idxBase、workspace 不足、nnz==0+idxBase==1 直接 API 测试 ## 文档更新 新增 sparse/coo2csr/README.md,按仓内指导文档 docs/zh/develop/readme_develop_guide.md 编写,包含算子概述、接口列表、产品支持情况、接口详情(函数原型/参数说明/约束说明/边界行为)、支持的稀疏格式、调用示例(RAII 模式)。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-sparse!78 | 1 个月前 | |
feat: 新增 aclsparseXcoo2csr 算子 Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !78 merge feat-coo2csr into master feat: 新增 aclsparseXcoo2csr 算子 Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 新增 aclsparseXcoo2csr 算子,实现 COO 格式行索引数组到 CSR 格式行指针数组的转换。 **算子功能**:给定已按行非递减排序的 COO 行索引数组 cooRowInd[0..nnz-1],统计每行非零元素个数,再通过排他前缀和生成 CSR 行指针数组 csrRowPtr[0..m]。 **实现要点**: - 基于 Ascend950(DAV_3510)架构 SIMT 编程模型 - 行计数阶段采用游程编码(RLE)局部计数策略,减少原子竞争 - 前缀和阶段支持三级执行路径:融合 kernel(m/nnz <= 1024)、单核串行、多核并行(m > 1024,3 阶段:局部前缀和 → 块间归约 → 偏移修正) - 完整处理 m=0、nnz=0、0-based/1-based 索引基址等边界场景 - workspace 不足时返回 ACL_SPARSE_STATUS_INSUFFICIENT_RESOURCES,调用方须通过 aclsparseSetWorkspace 提供足够空间 **交付文件**(12 个): - 算子源码 5 个:sparse/coo2csr/arch35/ 下 host/kernel/tiling - 算子文档 1 个:sparse/coo2csr/README.md(按仓内模板 docs/zh/develop/readme_develop_guide.md 编写) - 测试代码 6 个:test/coo2csr/ 下测试用例、golden、参数、CSV - 公共头文件修改 1 个:include/cann_ops_sparse.h(+29 行 API 声明) ## 关联的Issue [#114](https://gitcode.com/cann/ops-sparse/issues/114) ## 测试 ST 测试 51/51 PASSED(41 功能 + 10 异常),覆盖以下场景: - 正常用例:多种矩阵规模(4×4 ~ 1048576×1)、不同稀疏度 - 边界用例:m=0、nnz=0(idxBase=0/1) - 索引基址:0-based 和 1-based 均覆盖 - 大规模矩阵:m > 1024 触发多核并行前缀和路径 - 小规模矩阵:m/nnz <= 1024 触发融合 kernel 路径 - 异常用例:null handle/pointer、负 nnz/m、无效 idxBase、workspace 不足、nnz==0+idxBase==1 直接 API 测试 ## 文档更新 新增 sparse/coo2csr/README.md,按仓内指导文档 docs/zh/develop/readme_develop_guide.md 编写,包含算子概述、接口列表、产品支持情况、接口详情(函数原型/参数说明/约束说明/边界行为)、支持的稀疏格式、调用示例(RAII 模式)。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-sparse!78 | 1 个月前 | |
feat: 新增 aclsparseXcoo2csr 算子 Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !78 merge feat-coo2csr into master feat: 新增 aclsparseXcoo2csr 算子 Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 新增 aclsparseXcoo2csr 算子,实现 COO 格式行索引数组到 CSR 格式行指针数组的转换。 **算子功能**:给定已按行非递减排序的 COO 行索引数组 cooRowInd[0..nnz-1],统计每行非零元素个数,再通过排他前缀和生成 CSR 行指针数组 csrRowPtr[0..m]。 **实现要点**: - 基于 Ascend950(DAV_3510)架构 SIMT 编程模型 - 行计数阶段采用游程编码(RLE)局部计数策略,减少原子竞争 - 前缀和阶段支持三级执行路径:融合 kernel(m/nnz <= 1024)、单核串行、多核并行(m > 1024,3 阶段:局部前缀和 → 块间归约 → 偏移修正) - 完整处理 m=0、nnz=0、0-based/1-based 索引基址等边界场景 - workspace 不足时返回 ACL_SPARSE_STATUS_INSUFFICIENT_RESOURCES,调用方须通过 aclsparseSetWorkspace 提供足够空间 **交付文件**(12 个): - 算子源码 5 个:sparse/coo2csr/arch35/ 下 host/kernel/tiling - 算子文档 1 个:sparse/coo2csr/README.md(按仓内模板 docs/zh/develop/readme_develop_guide.md 编写) - 测试代码 6 个:test/coo2csr/ 下测试用例、golden、参数、CSV - 公共头文件修改 1 个:include/cann_ops_sparse.h(+29 行 API 声明) ## 关联的Issue [#114](https://gitcode.com/cann/ops-sparse/issues/114) ## 测试 ST 测试 51/51 PASSED(41 功能 + 10 异常),覆盖以下场景: - 正常用例:多种矩阵规模(4×4 ~ 1048576×1)、不同稀疏度 - 边界用例:m=0、nnz=0(idxBase=0/1) - 索引基址:0-based 和 1-based 均覆盖 - 大规模矩阵:m > 1024 触发多核并行前缀和路径 - 小规模矩阵:m/nnz <= 1024 触发融合 kernel 路径 - 异常用例:null handle/pointer、负 nnz/m、无效 idxBase、workspace 不足、nnz==0+idxBase==1 直接 API 测试 ## 文档更新 新增 sparse/coo2csr/README.md,按仓内指导文档 docs/zh/develop/readme_develop_guide.md 编写,包含算子概述、接口列表、产品支持情况、接口详情(函数原型/参数说明/约束说明/边界行为)、支持的稀疏格式、调用示例(RAII 模式)。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-sparse!78 | 1 个月前 | |
feat: 新增 aclsparseXcoo2csr 算子 Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !78 merge feat-coo2csr into master feat: 新增 aclsparseXcoo2csr 算子 Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 新增 aclsparseXcoo2csr 算子,实现 COO 格式行索引数组到 CSR 格式行指针数组的转换。 **算子功能**:给定已按行非递减排序的 COO 行索引数组 cooRowInd[0..nnz-1],统计每行非零元素个数,再通过排他前缀和生成 CSR 行指针数组 csrRowPtr[0..m]。 **实现要点**: - 基于 Ascend950(DAV_3510)架构 SIMT 编程模型 - 行计数阶段采用游程编码(RLE)局部计数策略,减少原子竞争 - 前缀和阶段支持三级执行路径:融合 kernel(m/nnz <= 1024)、单核串行、多核并行(m > 1024,3 阶段:局部前缀和 → 块间归约 → 偏移修正) - 完整处理 m=0、nnz=0、0-based/1-based 索引基址等边界场景 - workspace 不足时返回 ACL_SPARSE_STATUS_INSUFFICIENT_RESOURCES,调用方须通过 aclsparseSetWorkspace 提供足够空间 **交付文件**(12 个): - 算子源码 5 个:sparse/coo2csr/arch35/ 下 host/kernel/tiling - 算子文档 1 个:sparse/coo2csr/README.md(按仓内模板 docs/zh/develop/readme_develop_guide.md 编写) - 测试代码 6 个:test/coo2csr/ 下测试用例、golden、参数、CSV - 公共头文件修改 1 个:include/cann_ops_sparse.h(+29 行 API 声明) ## 关联的Issue [#114](https://gitcode.com/cann/ops-sparse/issues/114) ## 测试 ST 测试 51/51 PASSED(41 功能 + 10 异常),覆盖以下场景: - 正常用例:多种矩阵规模(4×4 ~ 1048576×1)、不同稀疏度 - 边界用例:m=0、nnz=0(idxBase=0/1) - 索引基址:0-based 和 1-based 均覆盖 - 大规模矩阵:m > 1024 触发多核并行前缀和路径 - 小规模矩阵:m/nnz <= 1024 触发融合 kernel 路径 - 异常用例:null handle/pointer、负 nnz/m、无效 idxBase、workspace 不足、nnz==0+idxBase==1 直接 API 测试 ## 文档更新 新增 sparse/coo2csr/README.md,按仓内指导文档 docs/zh/develop/readme_develop_guide.md 编写,包含算子概述、接口列表、产品支持情况、接口详情(函数原型/参数说明/约束说明/边界行为)、支持的稀疏格式、调用示例(RAII 模式)。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-sparse!78 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |