| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(spsm): implement SpSM sparse triangular solve with multiple right-hand sides Co-authored-by: wang-zhiyue2<wangzhiyue2@huawei.com> # message auto-generated for no-merge-commit merge: !84 merge aclsparseSpSM into master feat(spsm): implement SpSM sparse triangular solve with multiple right-hand sides Created-by: wang-zhiyue2 Commit-by: wang-zhiyue2 Merged-by: cann-robot Description: ## 描述 实现 SpSM(Sparse Triangular Solve with Multiple Right-Hand Sides)算子,用于求解稀疏三角线性方程组 op(A)·X = α·B。 **核心特性:** - 三阶段执行模型:BufferSize → Analysis → Solve,对标 cuSPARSE cusparseSpSM Generic API - Descriptor 描述符模式,Analysis 阶段 host 侧 CSR→CSC 转置 + CPU Level Scheduling 拓扑分层,Solve 阶段异步执行 - Level Scheduling 并行化算法,同 level 行无依赖可多核并行,level 间串行求解 - 支持 NON_TRANSPOSE / TRANSPOSE 操作(opA=T 时 host 侧物理转置为 CSC 再按 N 模式处理) - 支持 LOWER / UPPER fill mode 和 UNIT / NON_UNIT diagonal type - 支持 ROW / COL 矩阵存储顺序,支持 in-place 求解(B/X 共用缓冲区) - 支持 32-bit 索引,支持 ONE_BASED / ZERO_BASED 索引基 - 接口签名对齐 cuSPARSE(含 opB 参数),首期仅实现 opB=NON_TRANSPOSE - 目标平台:Ascend 950PR / 950DT(arch35 / DAV_3510) **新增接口:** - aclsparseSpSMCreateDescr / aclsparseSpSMDestroyDescr:SpSM 描述符生命周期管理 - aclsparseSpSMBufferSize:查询 workspace 大小 - aclsparseSpSMAnalysis:预处理(CSR→CSC 转置 + Level Scheduling) - aclsparseSpSM:执行三角求解 ## 关联的Issue #126 ## 测试 - GTest + CSV 驱动的精度 ST,94 条参数化用例 + 20 条异常用例,共 114 条 - 分级覆盖:L0(基础功能 8 条)/ L1(参数组合 58 条)/ L2(边界场景 12 条)/ L3(白盒路径 + 回归 16 条) - CPU golden 参考实现(Eigen FP64 triangularView 求解),覆盖 opA N/T × fillMode L/U × diag UNIT/NON_UNIT 全 8 种模式 - 覆盖 ROW/COL order × in-place × unsorted × 不同 alpha × 不同 density × 奇异矩阵 × 空矩阵等场景 - 异常用例覆盖 null 指针 / 类型不支持 / 维度不匹配 / 奇异矩阵等校验路径 - 精度标准:MIXED_TOLERANCE,114/114 pass  ## 文档更新 - 新增 sparse/spsm/README.md:完整算子文档,包含功能说明、数学原理(行更新通式、四种依赖模式、Level Scheduling)、接口说明、参数约束、调用示例 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-sparse!84 | 1 个月前 | |
feat(spsm): implement SpSM sparse triangular solve with multiple right-hand sides Co-authored-by: wang-zhiyue2<wangzhiyue2@huawei.com> # message auto-generated for no-merge-commit merge: !84 merge aclsparseSpSM into master feat(spsm): implement SpSM sparse triangular solve with multiple right-hand sides Created-by: wang-zhiyue2 Commit-by: wang-zhiyue2 Merged-by: cann-robot Description: ## 描述 实现 SpSM(Sparse Triangular Solve with Multiple Right-Hand Sides)算子,用于求解稀疏三角线性方程组 op(A)·X = α·B。 **核心特性:** - 三阶段执行模型:BufferSize → Analysis → Solve,对标 cuSPARSE cusparseSpSM Generic API - Descriptor 描述符模式,Analysis 阶段 host 侧 CSR→CSC 转置 + CPU Level Scheduling 拓扑分层,Solve 阶段异步执行 - Level Scheduling 并行化算法,同 level 行无依赖可多核并行,level 间串行求解 - 支持 NON_TRANSPOSE / TRANSPOSE 操作(opA=T 时 host 侧物理转置为 CSC 再按 N 模式处理) - 支持 LOWER / UPPER fill mode 和 UNIT / NON_UNIT diagonal type - 支持 ROW / COL 矩阵存储顺序,支持 in-place 求解(B/X 共用缓冲区) - 支持 32-bit 索引,支持 ONE_BASED / ZERO_BASED 索引基 - 接口签名对齐 cuSPARSE(含 opB 参数),首期仅实现 opB=NON_TRANSPOSE - 目标平台:Ascend 950PR / 950DT(arch35 / DAV_3510) **新增接口:** - aclsparseSpSMCreateDescr / aclsparseSpSMDestroyDescr:SpSM 描述符生命周期管理 - aclsparseSpSMBufferSize:查询 workspace 大小 - aclsparseSpSMAnalysis:预处理(CSR→CSC 转置 + Level Scheduling) - aclsparseSpSM:执行三角求解 ## 关联的Issue #126 ## 测试 - GTest + CSV 驱动的精度 ST,94 条参数化用例 + 20 条异常用例,共 114 条 - 分级覆盖:L0(基础功能 8 条)/ L1(参数组合 58 条)/ L2(边界场景 12 条)/ L3(白盒路径 + 回归 16 条) - CPU golden 参考实现(Eigen FP64 triangularView 求解),覆盖 opA N/T × fillMode L/U × diag UNIT/NON_UNIT 全 8 种模式 - 覆盖 ROW/COL order × in-place × unsorted × 不同 alpha × 不同 density × 奇异矩阵 × 空矩阵等场景 - 异常用例覆盖 null 指针 / 类型不支持 / 维度不匹配 / 奇异矩阵等校验路径 - 精度标准:MIXED_TOLERANCE,114/114 pass  ## 文档更新 - 新增 sparse/spsm/README.md:完整算子文档,包含功能说明、数学原理(行更新通式、四种依赖模式、Level Scheduling)、接口说明、参数约束、调用示例 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-sparse!84 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 |