已关闭
[Requirement|需求建议]: 新增 aclsparseXcoo2csr 算子 #114
yuyuanfeng创建于 7月25日关闭于 8月4日
7月25日 关联了pull request:feat: 新增 aclsparsecoo2csr 算子(COO 转 CSR 行指针,arch35/SIMT)
7月27日 修改标题为 “[Requirement|需求建议]: 新增 aclsparseXcoo2csr 算子(COO 转 CSR 行指针)”,原标题为“[Requirement|需求建议]: 新增 aclsparsecoo2csr 算子(COO 转 CSR 行指针)”
7月27日 修改标题为 “[Requirement|需求建议]: 新增 aclsparseXcoo2csr 算子(COO 转 CSR 行指针)”,原标题为“[Requirement|需求建议]: 新增 aclsparsecoo2csr 算子(COO 转 CSR 行指针)”
7月27日 修改标题为 “[Requirement|需求建议]: 新增 aclsparseXcoo2csr 算子”,原标题为“[Requirement|需求建议]: 新增 aclsparseXcoo2csr 算子(COO 转 CSR 行指针)”
7月27日 修改标题为 “[Requirement|需求建议]: 新增 aclsparseXcoo2csr 算子”,原标题为“[Requirement|需求建议]: 新增 aclsparseXcoo2csr 算子(COO 转 CSR 行指针)”
wangzitao
8月3日 评论:
8月3日 评论:
您好,感谢反馈,问题确认中。


8月4日 issue状态由 进行中 改变为 已完成
8月4日 关闭了 issue
8月4日 添加了label:resolved
21 天前 关联了pull request:feat(spmm/arch22): add torch.sparse.addmm NPU adapter (fp32 baseline path)
21 天前 关联了pull request:feat(spmm/arch22): add torch.sparse.addmm NPU adapter (fp32 baseline path)
背景(背景信息)
在稀疏矩阵计算中,COO(Coordinate)和 CSR(Compressed Sparse Row)是两种常用的稀疏矩阵存储格式。COO 转 CSR 行指针是格式转换的基础操作,上层稀疏计算框架(如稀疏矩阵乘法、三角求解等)在准备输入数据时普遍依赖该接口。当前仓库缺少该接口实现,需补充。
Origin(信息来源)
cann 开发者
价值/作用(Benefit / Necessity)
提供 COO 到 CSR 的格式转换能力,完善稀疏算子库的格式转换接口体系。该接口为上层应用(如科学计算、图计算、机器学习)处理稀疏矩阵数据提供基础支撑,是构建完整稀疏线性代数库的必要组件。
设计(Design)
基于 Ascend950(DAV_3510)架构的 SIMT 编程模型实现。算法分两阶段:
行计数阶段:遍历已排序的 COO 行索引数组,利用游程编码(RLE)局部计数策略,将相同行索引的连续出现合并为单次原子加操作,减少原子竞争。
前缀和阶段:当矩阵行数 m > 1024 时自动启用 3 阶段多核并行前缀和(局部前缀和 → 块间归约 → 偏移修正),将 O(m) 串行操作并行化到多核;m <= 1024 且 nnz <= 1024 时使用融合 kernel 单 block 完成全部计算。
支持 0-based/1-based 索引基址,完整处理 m=0、nnz=0 等边界场景。接口签名采用扁平直传参数模式(Legacy API 风格),仅操作 int32 索引数组,无浮点数据参与。