已关闭
[Requirement|需求建议]: 新增aclsparseXcsr2coo接口 #110
yuyuanfeng创建于 7月21日关闭于 8月4日
7月22日 修改标题为 “Feat: 新增面向Ascend950的aclsparseCsr2coo接口”,原标题为“## 需求背景”
7月22日 修改了issue 的描述
yuyuanfeng
7月23日 评论:
7月23日 评论:
PR 已完成:#71
实现摘要
- Legacy API
aclsparseCsr2coo,INT32 索引类型,支持 CSR→COO / CSC→COO - Host 9 项参数校验(含 nnz/m≤INT32_MAX);Kernel 边界校验与防御性 return
- 向量化预计算 per-row nnz/start(Subs+Sub)+ Double Buffer
- 67 测试全 PASS(53 参数化 + 14 异常/边界),位精确
参数校验补充
在原 V1-V7 基础上新增:
- V8: nnz > INT32_MAX → INVALID_VALUE
- V9: m > INT32_MAX → INVALID_VALUE
性能(Ascend950PR)
- 超大行场景吞吐 210M nnz/s
- 主瓶颈为标量 GetValue 循环(SCALAR BOUND 82-90%),属架构限制(每行输出长度不规则,无法完全向量化)
编译运行
bash build.sh --ops=csr2coo --soc=ascend950 --run


7月27日 修改标题为 “Feat: 新增面向Ascend950的aclsparseXcsr2coo接口”,原标题为“Feat: 新增面向Ascend950的aclsparseCsr2coo接口”
7月27日 修改标题为 “Feat: 新增面向Ascend950的aclsparseXcsr2coo接口”,原标题为“Feat: 新增面向Ascend950的aclsparseCsr2coo接口”
7月27日 修改了issue 的描述
7月27日 修改了issue 的描述
7月27日 修改标题为 “[Requirement|需求建议]: 新增面向Ascend950的aclsparseXcsr2coo接口”,原标题为“Feat: 新增面向Ascend950的aclsparseXcsr2coo接口”
7月27日 修改标题为 “[Requirement|需求建议]: 新增面向Ascend950的aclsparseXcsr2coo接口”,原标题为“Feat: 新增面向Ascend950的aclsparseXcsr2coo接口”
7月27日 修改标题为 “[Requirement|需求建议]: 新增aclsparseXcsr2coo接口”,原标题为“[Requirement|需求建议]: 新增面向Ascend950的aclsparseXcsr2coo接口”
7月27日 修改标题为 “[Requirement|需求建议]: 新增aclsparseXcsr2coo接口”,原标题为“[Requirement|需求建议]: 新增面向Ascend950的aclsparseXcsr2coo接口”
8月4日 issue状态由 进行中 改变为 已完成
8月4日 关闭了 issue
8月4日 添加了label:resolved
需求背景
新增 csr2coo(CSR 行指针到 COO 行索引转换)算子,对齐 cuSPARSE
cusparseXcsr2coo(Legacy API)。将 CSR 格式的压缩行偏移数组展开为 COO 格式的逐元素行索引数组。同时支持 CSC→COO 转换(传入列偏移数组)。功能描述
API 签名
aclsparseStatus_t aclsparseXcsr2coo(aclsparseHandle_t handle, const int32_t *csrRowPtr, int64_t nnz, int64_t m, int32_t *cooRowInd, aclsparseIndexBase_t idxBase);参数校验
约束
实现状态
已实现,PR #71。