本项目是CANN提供的高级数值求解算子库,实现矩阵分解、求逆、特征值求解等功能在NPU上的加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[需求]: 新增ops-solver仓PR/issue模板 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !8 merge master into master [需求]: 新增ops-solver仓PR/issue模板 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: wangzitao_leo Description: ## 变更描述 / Description 新增ops-solver仓PR/issue模板 ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [x] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [x] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- Closes #123 可自动关闭 / Closes #123 to auto-close --> - Closes [#6](https://gitcode.com/cann/ops-solver/issues/6) - References # ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [x] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/ops-solver!8 | 2 个月前 | |
新增编包、构建和批量测试的功能 Co-authored-by: chenbinbin199309<chenbinbin20@huawei.com> # message auto-generated for no-merge-commit merge: !4 merge pkg into master 新增编包、构建和批量测试的功能 Created-by: chenbinbin199309 Commit-by: chenbinbin199309 Merged-by: demoauguste Description: Add packaging CMake modules, install script, and run-package docs See merge request: cann/ops-solver!4 | 3 个月前 | |
Fix: 修复30个issue(#13-#28,#30-#42, #63)) Co-authored-by: Tian_1122<tianjunhan@h-partners.com> # message auto-generated for no-merge-commit merge: !19 merge master into master Fix: 修复30个issue(#13-#28,#30-#42, #63)) Created-by: Tian_1122 Commit-by: Tian_1122 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 修复了 ops-solver 仓库中 30 个 issue(#13-#28, #30-#42, #63),涉及除零保护、资源泄漏修复、参数校验、测试用例修正、新建测试目录等问题。#13 和 #33 经分析为误报。具体修复内容: - src/utils/assert.h:#18 CHECK_ACLRT 宏从 exit(EXIT_FAILURE) 改为 cleanup_action 模式,6 个 host 文件用 lambda 封装资源清理,ACL 运行时出错时清理已分配资源后返回错误码;#31 删除全局未使用的 RT_CHECK 宏 - src/sgetrf/kernel/getf2.hpp:#32 修正 FreeTensor 释放错误 tensor(dstLocal1→dstLocal0);移除 LUCustom2 中 assert(blockM >= blockN) 约束 - src/cgetri/cgetri_kernel.cpp:#17 workspace 初始化为 nullptr - src/cgetrf/cgetrf_host.cpp:#18 lambda cleanup;#14 numBlocks 固定 20;#30 参数校验;#24 GenerateGather N=0 保护;#25/#27 lda/info 标记未启用;ipiv 输出改为 1-based 索引(配合 #40) - src/sgetrf/sgetrf_host.cpp:#18 lambda cleanup;#14/#34 numBlocks 固定 20;#30 参数校验;#25/#27 lda/info 标记未启用;ipiv 输出改为 1-based 索引(配合 #40) - src/cgetri/cgetri_host.cpp:#18 lambda cleanup;#30 参数校验;#24 N=0 保护;numBlocks 上限钳制为 20;#25/#27 lda/info 标记未启用 - src/sgetri/sgetri_host.cpp:#18 lambda cleanup;#30 参数校验;#35 memset size 修正;numBlocks 上限钳制为 20;#25/#27 lda/info 标记未启用 - src/cgetri_batched/cgetri_batched_host.cpp:#18 lambda cleanup;#16 补充 workSpace aclrtFree;#36 sync 包裹 CHECK_ACLRT;#25/#27/#28 lda/info 仅提示不返回;n>=32 边界修正 - src/cmatinv_batched/cmatinv_batched_host.cpp:#18 lambda cleanup;#20 移除未启用的 d_info 设备内存分配(消除泄漏);#36 sync 包裹 CHECK_ACLRT;GetCoreNumAic 改为 GetCoreNumAiv(匹配 AIV_ONLY 内核);numBlocks 上限钳制为 40;#25/#27/#28 lda/info 仅提示不返回;n>=32 边界修正 - CMakeLists.txt:#19 默认构建类型从 Debug FORCE 改为 Release - test/cgetri/data/gen_data.py、test/sgetri/data/gen_data.py:#23 shuffle 移至对角占优之前 - test/cgetrf/cgetrf_test.cpp 等 4 个 test cpp:#37 info 指针初始化 - test/cgetrf/data/verify_result.py 等 5 个 verify_result.py:#38 移除重复 total_different;#39 移除未使用参数 w;#40 sgetrf pivot 检查对齐 cgetrf(改为 1-based 索引);#41 index==32 改为 index>=32;#42 tolrence 拼写修正 - *test/cgetri_batched/*:#63 新建完整测试目录(CMakeLists.txt、cgetri_batched_test.cpp、gen_data.py、verify_result.py、README.md) - docs/zh/cmatinv_batched.md、docs/zh/cgetri_batched.md:n>=32 转调边界修正 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#13](https://gitcode.com/cann/ops-solver/issues/13) [#14](https://gitcode.com/cann/ops-solver/issues/14) [#15](https://gitcode.com/cann/ops-solver/issues/15) [#16](https://gitcode.com/cann/ops-solver/issues/16) [#17](https://gitcode.com/cann/ops-solver/issues/17) [#18](https://gitcode.com/cann/ops-solver/issues/18) [#19](https://gitcode.com/cann/ops-solver/issues/19) [#20](https://gitcode.com/cann/ops-solver/issues/20) [#21](https://gitcode.com/cann/ops-solver/issues/21) [#22](https://gitcode.com/cann/ops-solver/issues/22) [#23](https://gitcode.com/cann/ops-solver/issues/23) [#24](https://gitcode.com/cann/ops-solver/issues/24) [#25](https://gitcode.com/cann/ops-solver/issues/25) [#26](https://gitcode.com/cann/ops-solver/issues/26) [#27](https://gitcode.com/cann/ops-solver/issues/27) [#28](https://gitcode.com/cann/ops-solver/issues/28) [#30](https://gitcode.com/cann/ops-solver/issues/30) [#31](https://gitcode.com/cann/ops-solver/issues/31) [#32](https://gitcode.com/cann/ops-solver/issues/32) [#33](https://gitcode.com/cann/ops-solver/issues/33) [#34](https://gitcode.com/cann/ops-solver/issues/34) [#35](https://gitcode.com/cann/ops-solver/issues/35) [#36](https://gitcode.com/cann/ops-solver/issues/36) [#37](https://gitcode.com/cann/ops-solver/issues/37) [#38](https://gitcode.com/cann/ops-solver/issues/38) [#39](https://gitcode.com/cann/ops-solver/issues/39) [#40](https://gitcode.com/cann/ops-solver/issues/40) [#41](https://gitcode.com/cann/ops-solver/issues/41) [#42](https://gitcode.com/cann/ops-solver/issues/42) [#63](https://gitcode.com/cann/ops-solver/issues/63) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 编译通过(bash build.sh --soc=ascend910b),6 个算子全部编译成功。默认测试 bash build.sh --run 6/6 通过。精度测试 cgetrf/sgetrf 10 种尺寸(4~160)×2 算子 20/20 通过。异常测试构造 100000×100000 超大矩阵触发 malloc 失败,4 个算子均返回错误码不 exit,cleanup 正常执行,后续正常调用成功 6/6 通过。除零测试构造奇异矩阵(重复行),cgetrf/sgetrf 25 种尺寸×2 算子 50/50 无 NaN/Inf,正常矩阵对照 50/50 精度不受影响。边界测试 n=31(cmatinv 路径)、n=32(cgetri 路径)、n=33 均通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/cmatinv_batched.md:n>=32 转调说明修正 docs/zh/cgetri_batched.md:n 约束从"大于32"改为"大于等于32" test/cgetri_batched/README.md:新建算子说明文档 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!19 | 10 天前 | |
update readme and create dir | 5 个月前 | |
add handle Co-authored-by: Tian_1122<tianjunhan@h-partners.com> # message auto-generated for no-merge-commit merge: !9 merge master into master add handle Created-by: Tian_1122 Commit-by: Tian_1122 Merged-by: demoauguste Description: ## 描述 补充handle ## 关联的Issue [#4](https://gitcode.com/cann/ops-solver/issues/4) [#5](https://gitcode.com/cann/ops-solver/issues/5) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!9 | 2 个月前 | |
增加pre-commit配置 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !12 merge fix into master 增加pre-commit配置 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: yang-di52 Description: ## 描述 新增 pre-commit 框架配置及配套工具链,为项目引入代码格式化、拼写检查和许可证合规性检查的自动化流程。 ### 主要改动点 * pre-commit 配置(.pre-commit-config.yaml):配置 6 类检查钩子,包括 clang-format(C++)、ruff(Python)、codespell/typos 拼写检查、OAT 合规性检查 * 代码格式化规范(.clang-format):基于 Google 风格定制,缩进 4 空格、列宽 120 字符、函数定义大括号换行 * 合规性检查脚本(scripts/oat_check.sh):集成 OAT 工具进行增量扫描,支持跨平台环境自动安装(Java/Maven) ### 影响范围 * 提交前自动触发代码质量检查,不影响现有代码逻辑 * 新增配置文件和脚本,无代码侵入 ## 关联的Issue [#9](https://gitcode.com/cann/ops-solver/issues/9) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!12 | 2 个月前 | |
Fix: 修复30个issue(#13-#28,#30-#42, #63)) Co-authored-by: Tian_1122<tianjunhan@h-partners.com> # message auto-generated for no-merge-commit merge: !19 merge master into master Fix: 修复30个issue(#13-#28,#30-#42, #63)) Created-by: Tian_1122 Commit-by: Tian_1122 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 修复了 ops-solver 仓库中 30 个 issue(#13-#28, #30-#42, #63),涉及除零保护、资源泄漏修复、参数校验、测试用例修正、新建测试目录等问题。#13 和 #33 经分析为误报。具体修复内容: - src/utils/assert.h:#18 CHECK_ACLRT 宏从 exit(EXIT_FAILURE) 改为 cleanup_action 模式,6 个 host 文件用 lambda 封装资源清理,ACL 运行时出错时清理已分配资源后返回错误码;#31 删除全局未使用的 RT_CHECK 宏 - src/sgetrf/kernel/getf2.hpp:#32 修正 FreeTensor 释放错误 tensor(dstLocal1→dstLocal0);移除 LUCustom2 中 assert(blockM >= blockN) 约束 - src/cgetri/cgetri_kernel.cpp:#17 workspace 初始化为 nullptr - src/cgetrf/cgetrf_host.cpp:#18 lambda cleanup;#14 numBlocks 固定 20;#30 参数校验;#24 GenerateGather N=0 保护;#25/#27 lda/info 标记未启用;ipiv 输出改为 1-based 索引(配合 #40) - src/sgetrf/sgetrf_host.cpp:#18 lambda cleanup;#14/#34 numBlocks 固定 20;#30 参数校验;#25/#27 lda/info 标记未启用;ipiv 输出改为 1-based 索引(配合 #40) - src/cgetri/cgetri_host.cpp:#18 lambda cleanup;#30 参数校验;#24 N=0 保护;numBlocks 上限钳制为 20;#25/#27 lda/info 标记未启用 - src/sgetri/sgetri_host.cpp:#18 lambda cleanup;#30 参数校验;#35 memset size 修正;numBlocks 上限钳制为 20;#25/#27 lda/info 标记未启用 - src/cgetri_batched/cgetri_batched_host.cpp:#18 lambda cleanup;#16 补充 workSpace aclrtFree;#36 sync 包裹 CHECK_ACLRT;#25/#27/#28 lda/info 仅提示不返回;n>=32 边界修正 - src/cmatinv_batched/cmatinv_batched_host.cpp:#18 lambda cleanup;#20 移除未启用的 d_info 设备内存分配(消除泄漏);#36 sync 包裹 CHECK_ACLRT;GetCoreNumAic 改为 GetCoreNumAiv(匹配 AIV_ONLY 内核);numBlocks 上限钳制为 40;#25/#27/#28 lda/info 仅提示不返回;n>=32 边界修正 - CMakeLists.txt:#19 默认构建类型从 Debug FORCE 改为 Release - test/cgetri/data/gen_data.py、test/sgetri/data/gen_data.py:#23 shuffle 移至对角占优之前 - test/cgetrf/cgetrf_test.cpp 等 4 个 test cpp:#37 info 指针初始化 - test/cgetrf/data/verify_result.py 等 5 个 verify_result.py:#38 移除重复 total_different;#39 移除未使用参数 w;#40 sgetrf pivot 检查对齐 cgetrf(改为 1-based 索引);#41 index==32 改为 index>=32;#42 tolrence 拼写修正 - *test/cgetri_batched/*:#63 新建完整测试目录(CMakeLists.txt、cgetri_batched_test.cpp、gen_data.py、verify_result.py、README.md) - docs/zh/cmatinv_batched.md、docs/zh/cgetri_batched.md:n>=32 转调边界修正 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#13](https://gitcode.com/cann/ops-solver/issues/13) [#14](https://gitcode.com/cann/ops-solver/issues/14) [#15](https://gitcode.com/cann/ops-solver/issues/15) [#16](https://gitcode.com/cann/ops-solver/issues/16) [#17](https://gitcode.com/cann/ops-solver/issues/17) [#18](https://gitcode.com/cann/ops-solver/issues/18) [#19](https://gitcode.com/cann/ops-solver/issues/19) [#20](https://gitcode.com/cann/ops-solver/issues/20) [#21](https://gitcode.com/cann/ops-solver/issues/21) [#22](https://gitcode.com/cann/ops-solver/issues/22) [#23](https://gitcode.com/cann/ops-solver/issues/23) [#24](https://gitcode.com/cann/ops-solver/issues/24) [#25](https://gitcode.com/cann/ops-solver/issues/25) [#26](https://gitcode.com/cann/ops-solver/issues/26) [#27](https://gitcode.com/cann/ops-solver/issues/27) [#28](https://gitcode.com/cann/ops-solver/issues/28) [#30](https://gitcode.com/cann/ops-solver/issues/30) [#31](https://gitcode.com/cann/ops-solver/issues/31) [#32](https://gitcode.com/cann/ops-solver/issues/32) [#33](https://gitcode.com/cann/ops-solver/issues/33) [#34](https://gitcode.com/cann/ops-solver/issues/34) [#35](https://gitcode.com/cann/ops-solver/issues/35) [#36](https://gitcode.com/cann/ops-solver/issues/36) [#37](https://gitcode.com/cann/ops-solver/issues/37) [#38](https://gitcode.com/cann/ops-solver/issues/38) [#39](https://gitcode.com/cann/ops-solver/issues/39) [#40](https://gitcode.com/cann/ops-solver/issues/40) [#41](https://gitcode.com/cann/ops-solver/issues/41) [#42](https://gitcode.com/cann/ops-solver/issues/42) [#63](https://gitcode.com/cann/ops-solver/issues/63) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 编译通过(bash build.sh --soc=ascend910b),6 个算子全部编译成功。默认测试 bash build.sh --run 6/6 通过。精度测试 cgetrf/sgetrf 10 种尺寸(4~160)×2 算子 20/20 通过。异常测试构造 100000×100000 超大矩阵触发 malloc 失败,4 个算子均返回错误码不 exit,cleanup 正常执行,后续正常调用成功 6/6 通过。除零测试构造奇异矩阵(重复行),cgetrf/sgetrf 25 种尺寸×2 算子 50/50 无 NaN/Inf,正常矩阵对照 50/50 精度不受影响。边界测试 n=31(cmatinv 路径)、n=32(cgetri 路径)、n=33 均通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/cmatinv_batched.md:n>=32 转调说明修正 docs/zh/cgetri_batched.md:n 约束从"大于32"改为"大于等于32" test/cgetri_batched/README.md:新建算子说明文档 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!19 | 10 天前 | |
Fix: 修复30个issue(#13-#28,#30-#42, #63)) Co-authored-by: Tian_1122<tianjunhan@h-partners.com> # message auto-generated for no-merge-commit merge: !19 merge master into master Fix: 修复30个issue(#13-#28,#30-#42, #63)) Created-by: Tian_1122 Commit-by: Tian_1122 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 修复了 ops-solver 仓库中 30 个 issue(#13-#28, #30-#42, #63),涉及除零保护、资源泄漏修复、参数校验、测试用例修正、新建测试目录等问题。#13 和 #33 经分析为误报。具体修复内容: - src/utils/assert.h:#18 CHECK_ACLRT 宏从 exit(EXIT_FAILURE) 改为 cleanup_action 模式,6 个 host 文件用 lambda 封装资源清理,ACL 运行时出错时清理已分配资源后返回错误码;#31 删除全局未使用的 RT_CHECK 宏 - src/sgetrf/kernel/getf2.hpp:#32 修正 FreeTensor 释放错误 tensor(dstLocal1→dstLocal0);移除 LUCustom2 中 assert(blockM >= blockN) 约束 - src/cgetri/cgetri_kernel.cpp:#17 workspace 初始化为 nullptr - src/cgetrf/cgetrf_host.cpp:#18 lambda cleanup;#14 numBlocks 固定 20;#30 参数校验;#24 GenerateGather N=0 保护;#25/#27 lda/info 标记未启用;ipiv 输出改为 1-based 索引(配合 #40) - src/sgetrf/sgetrf_host.cpp:#18 lambda cleanup;#14/#34 numBlocks 固定 20;#30 参数校验;#25/#27 lda/info 标记未启用;ipiv 输出改为 1-based 索引(配合 #40) - src/cgetri/cgetri_host.cpp:#18 lambda cleanup;#30 参数校验;#24 N=0 保护;numBlocks 上限钳制为 20;#25/#27 lda/info 标记未启用 - src/sgetri/sgetri_host.cpp:#18 lambda cleanup;#30 参数校验;#35 memset size 修正;numBlocks 上限钳制为 20;#25/#27 lda/info 标记未启用 - src/cgetri_batched/cgetri_batched_host.cpp:#18 lambda cleanup;#16 补充 workSpace aclrtFree;#36 sync 包裹 CHECK_ACLRT;#25/#27/#28 lda/info 仅提示不返回;n>=32 边界修正 - src/cmatinv_batched/cmatinv_batched_host.cpp:#18 lambda cleanup;#20 移除未启用的 d_info 设备内存分配(消除泄漏);#36 sync 包裹 CHECK_ACLRT;GetCoreNumAic 改为 GetCoreNumAiv(匹配 AIV_ONLY 内核);numBlocks 上限钳制为 40;#25/#27/#28 lda/info 仅提示不返回;n>=32 边界修正 - CMakeLists.txt:#19 默认构建类型从 Debug FORCE 改为 Release - test/cgetri/data/gen_data.py、test/sgetri/data/gen_data.py:#23 shuffle 移至对角占优之前 - test/cgetrf/cgetrf_test.cpp 等 4 个 test cpp:#37 info 指针初始化 - test/cgetrf/data/verify_result.py 等 5 个 verify_result.py:#38 移除重复 total_different;#39 移除未使用参数 w;#40 sgetrf pivot 检查对齐 cgetrf(改为 1-based 索引);#41 index==32 改为 index>=32;#42 tolrence 拼写修正 - *test/cgetri_batched/*:#63 新建完整测试目录(CMakeLists.txt、cgetri_batched_test.cpp、gen_data.py、verify_result.py、README.md) - docs/zh/cmatinv_batched.md、docs/zh/cgetri_batched.md:n>=32 转调边界修正 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#13](https://gitcode.com/cann/ops-solver/issues/13) [#14](https://gitcode.com/cann/ops-solver/issues/14) [#15](https://gitcode.com/cann/ops-solver/issues/15) [#16](https://gitcode.com/cann/ops-solver/issues/16) [#17](https://gitcode.com/cann/ops-solver/issues/17) [#18](https://gitcode.com/cann/ops-solver/issues/18) [#19](https://gitcode.com/cann/ops-solver/issues/19) [#20](https://gitcode.com/cann/ops-solver/issues/20) [#21](https://gitcode.com/cann/ops-solver/issues/21) [#22](https://gitcode.com/cann/ops-solver/issues/22) [#23](https://gitcode.com/cann/ops-solver/issues/23) [#24](https://gitcode.com/cann/ops-solver/issues/24) [#25](https://gitcode.com/cann/ops-solver/issues/25) [#26](https://gitcode.com/cann/ops-solver/issues/26) [#27](https://gitcode.com/cann/ops-solver/issues/27) [#28](https://gitcode.com/cann/ops-solver/issues/28) [#30](https://gitcode.com/cann/ops-solver/issues/30) [#31](https://gitcode.com/cann/ops-solver/issues/31) [#32](https://gitcode.com/cann/ops-solver/issues/32) [#33](https://gitcode.com/cann/ops-solver/issues/33) [#34](https://gitcode.com/cann/ops-solver/issues/34) [#35](https://gitcode.com/cann/ops-solver/issues/35) [#36](https://gitcode.com/cann/ops-solver/issues/36) [#37](https://gitcode.com/cann/ops-solver/issues/37) [#38](https://gitcode.com/cann/ops-solver/issues/38) [#39](https://gitcode.com/cann/ops-solver/issues/39) [#40](https://gitcode.com/cann/ops-solver/issues/40) [#41](https://gitcode.com/cann/ops-solver/issues/41) [#42](https://gitcode.com/cann/ops-solver/issues/42) [#63](https://gitcode.com/cann/ops-solver/issues/63) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 编译通过(bash build.sh --soc=ascend910b),6 个算子全部编译成功。默认测试 bash build.sh --run 6/6 通过。精度测试 cgetrf/sgetrf 10 种尺寸(4~160)×2 算子 20/20 通过。异常测试构造 100000×100000 超大矩阵触发 malloc 失败,4 个算子均返回错误码不 exit,cleanup 正常执行,后续正常调用成功 6/6 通过。除零测试构造奇异矩阵(重复行),cgetrf/sgetrf 25 种尺寸×2 算子 50/50 无 NaN/Inf,正常矩阵对照 50/50 精度不受影响。边界测试 n=31(cmatinv 路径)、n=32(cgetri 路径)、n=33 均通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/cmatinv_batched.md:n>=32 转调说明修正 docs/zh/cgetri_batched.md:n 约束从"大于32"改为"大于等于32" test/cgetri_batched/README.md:新建算子说明文档 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!19 | 10 天前 | |
增加pre-commit配置 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !12 merge fix into master 增加pre-commit配置 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: yang-di52 Description: ## 描述 新增 pre-commit 框架配置及配套工具链,为项目引入代码格式化、拼写检查和许可证合规性检查的自动化流程。 ### 主要改动点 * pre-commit 配置(.pre-commit-config.yaml):配置 6 类检查钩子,包括 clang-format(C++)、ruff(Python)、codespell/typos 拼写检查、OAT 合规性检查 * 代码格式化规范(.clang-format):基于 Google 风格定制,缩进 4 空格、列宽 120 字符、函数定义大括号换行 * 合规性检查脚本(scripts/oat_check.sh):集成 OAT 工具进行增量扫描,支持跨平台环境自动安装(Java/Maven) ### 影响范围 * 提交前自动触发代码质量检查,不影响现有代码逻辑 * 新增配置文件和脚本,无代码侵入 ## 关联的Issue [#9](https://gitcode.com/cann/ops-solver/issues/9) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!12 | 2 个月前 | |
新增编包、构建和批量测试的功能 Co-authored-by: chenbinbin199309<chenbinbin20@huawei.com> # message auto-generated for no-merge-commit merge: !4 merge pkg into master 新增编包、构建和批量测试的功能 Created-by: chenbinbin199309 Commit-by: chenbinbin199309 Merged-by: demoauguste Description: Add packaging CMake modules, install script, and run-package docs See merge request: cann/ops-solver!4 | 3 个月前 | |
增加pre-commit配置 Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !12 merge fix into master 增加pre-commit配置 Created-by: yang-di52 Commit-by: yang-di52 Merged-by: yang-di52 Description: ## 描述 新增 pre-commit 框架配置及配套工具链,为项目引入代码格式化、拼写检查和许可证合规性检查的自动化流程。 ### 主要改动点 * pre-commit 配置(.pre-commit-config.yaml):配置 6 类检查钩子,包括 clang-format(C++)、ruff(Python)、codespell/typos 拼写检查、OAT 合规性检查 * 代码格式化规范(.clang-format):基于 Google 风格定制,缩进 4 空格、列宽 120 字符、函数定义大括号换行 * 合规性检查脚本(scripts/oat_check.sh):集成 OAT 工具进行增量扫描,支持跨平台环境自动安装(Java/Maven) ### 影响范围 * 提交前自动触发代码质量检查,不影响现有代码逻辑 * 新增配置文件和脚本,无代码侵入 ## 关联的Issue [#9](https://gitcode.com/cann/ops-solver/issues/9) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!12 | 2 个月前 | |
Fix: 修复30个issue(#13-#28,#30-#42, #63)) Co-authored-by: Tian_1122<tianjunhan@h-partners.com> # message auto-generated for no-merge-commit merge: !19 merge master into master Fix: 修复30个issue(#13-#28,#30-#42, #63)) Created-by: Tian_1122 Commit-by: Tian_1122 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 修复了 ops-solver 仓库中 30 个 issue(#13-#28, #30-#42, #63),涉及除零保护、资源泄漏修复、参数校验、测试用例修正、新建测试目录等问题。#13 和 #33 经分析为误报。具体修复内容: - src/utils/assert.h:#18 CHECK_ACLRT 宏从 exit(EXIT_FAILURE) 改为 cleanup_action 模式,6 个 host 文件用 lambda 封装资源清理,ACL 运行时出错时清理已分配资源后返回错误码;#31 删除全局未使用的 RT_CHECK 宏 - src/sgetrf/kernel/getf2.hpp:#32 修正 FreeTensor 释放错误 tensor(dstLocal1→dstLocal0);移除 LUCustom2 中 assert(blockM >= blockN) 约束 - src/cgetri/cgetri_kernel.cpp:#17 workspace 初始化为 nullptr - src/cgetrf/cgetrf_host.cpp:#18 lambda cleanup;#14 numBlocks 固定 20;#30 参数校验;#24 GenerateGather N=0 保护;#25/#27 lda/info 标记未启用;ipiv 输出改为 1-based 索引(配合 #40) - src/sgetrf/sgetrf_host.cpp:#18 lambda cleanup;#14/#34 numBlocks 固定 20;#30 参数校验;#25/#27 lda/info 标记未启用;ipiv 输出改为 1-based 索引(配合 #40) - src/cgetri/cgetri_host.cpp:#18 lambda cleanup;#30 参数校验;#24 N=0 保护;numBlocks 上限钳制为 20;#25/#27 lda/info 标记未启用 - src/sgetri/sgetri_host.cpp:#18 lambda cleanup;#30 参数校验;#35 memset size 修正;numBlocks 上限钳制为 20;#25/#27 lda/info 标记未启用 - src/cgetri_batched/cgetri_batched_host.cpp:#18 lambda cleanup;#16 补充 workSpace aclrtFree;#36 sync 包裹 CHECK_ACLRT;#25/#27/#28 lda/info 仅提示不返回;n>=32 边界修正 - src/cmatinv_batched/cmatinv_batched_host.cpp:#18 lambda cleanup;#20 移除未启用的 d_info 设备内存分配(消除泄漏);#36 sync 包裹 CHECK_ACLRT;GetCoreNumAic 改为 GetCoreNumAiv(匹配 AIV_ONLY 内核);numBlocks 上限钳制为 40;#25/#27/#28 lda/info 仅提示不返回;n>=32 边界修正 - CMakeLists.txt:#19 默认构建类型从 Debug FORCE 改为 Release - test/cgetri/data/gen_data.py、test/sgetri/data/gen_data.py:#23 shuffle 移至对角占优之前 - test/cgetrf/cgetrf_test.cpp 等 4 个 test cpp:#37 info 指针初始化 - test/cgetrf/data/verify_result.py 等 5 个 verify_result.py:#38 移除重复 total_different;#39 移除未使用参数 w;#40 sgetrf pivot 检查对齐 cgetrf(改为 1-based 索引);#41 index==32 改为 index>=32;#42 tolrence 拼写修正 - *test/cgetri_batched/*:#63 新建完整测试目录(CMakeLists.txt、cgetri_batched_test.cpp、gen_data.py、verify_result.py、README.md) - docs/zh/cmatinv_batched.md、docs/zh/cgetri_batched.md:n>=32 转调边界修正 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#13](https://gitcode.com/cann/ops-solver/issues/13) [#14](https://gitcode.com/cann/ops-solver/issues/14) [#15](https://gitcode.com/cann/ops-solver/issues/15) [#16](https://gitcode.com/cann/ops-solver/issues/16) [#17](https://gitcode.com/cann/ops-solver/issues/17) [#18](https://gitcode.com/cann/ops-solver/issues/18) [#19](https://gitcode.com/cann/ops-solver/issues/19) [#20](https://gitcode.com/cann/ops-solver/issues/20) [#21](https://gitcode.com/cann/ops-solver/issues/21) [#22](https://gitcode.com/cann/ops-solver/issues/22) [#23](https://gitcode.com/cann/ops-solver/issues/23) [#24](https://gitcode.com/cann/ops-solver/issues/24) [#25](https://gitcode.com/cann/ops-solver/issues/25) [#26](https://gitcode.com/cann/ops-solver/issues/26) [#27](https://gitcode.com/cann/ops-solver/issues/27) [#28](https://gitcode.com/cann/ops-solver/issues/28) [#30](https://gitcode.com/cann/ops-solver/issues/30) [#31](https://gitcode.com/cann/ops-solver/issues/31) [#32](https://gitcode.com/cann/ops-solver/issues/32) [#33](https://gitcode.com/cann/ops-solver/issues/33) [#34](https://gitcode.com/cann/ops-solver/issues/34) [#35](https://gitcode.com/cann/ops-solver/issues/35) [#36](https://gitcode.com/cann/ops-solver/issues/36) [#37](https://gitcode.com/cann/ops-solver/issues/37) [#38](https://gitcode.com/cann/ops-solver/issues/38) [#39](https://gitcode.com/cann/ops-solver/issues/39) [#40](https://gitcode.com/cann/ops-solver/issues/40) [#41](https://gitcode.com/cann/ops-solver/issues/41) [#42](https://gitcode.com/cann/ops-solver/issues/42) [#63](https://gitcode.com/cann/ops-solver/issues/63) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 编译通过(bash build.sh --soc=ascend910b),6 个算子全部编译成功。默认测试 bash build.sh --run 6/6 通过。精度测试 cgetrf/sgetrf 10 种尺寸(4~160)×2 算子 20/20 通过。异常测试构造 100000×100000 超大矩阵触发 malloc 失败,4 个算子均返回错误码不 exit,cleanup 正常执行,后续正常调用成功 6/6 通过。除零测试构造奇异矩阵(重复行),cgetrf/sgetrf 25 种尺寸×2 算子 50/50 无 NaN/Inf,正常矩阵对照 50/50 精度不受影响。边界测试 n=31(cmatinv 路径)、n=32(cgetri 路径)、n=33 均通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/cmatinv_batched.md:n>=32 转调说明修正 docs/zh/cgetri_batched.md:n 约束从"大于32"改为"大于等于32" test/cgetri_batched/README.md:新建算子说明文档 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!19 | 10 天前 | |
docs: 修复18个文档类issue(#43-#60) Co-authored-by: zhanghua<zhanghua25@mails.ucas.ac.cn> # message auto-generated for no-merge-commit merge: !18 merge fix/doc-issues-43-60 into master docs: 修复18个文档类issue(#43-#60) Created-by: zhanghua145 Commit-by: zhanghua Merged-by: cann-robot Description: ## 描述 本 PR 修复了 ops-solver 仓库中全部 18 个文档类 issue(#43-#60),涉及文档错误、失效链接、概念性错误描述、缺失文档等问题。具体修复内容: 1. **api_list.md**:删除不存在的接口(aclsolverSetWorkspace/aclsolverGetVersion),区分 CmatinvBatched(n≤32)与 CgetriBatched(n>32)描述 2. **cmatinv_batched.md**:修正 Ainv/info 参数输入输出类型标注、n 参数描述、补充 n>32 自动转调 CgetriBatched 说明、修正 main 返回值、修正 lda 参数描述 3. **cgetrf/cgetri/sgetrf/sgetri.md**:修正 lda 参数概念性错误描述(leading dimension 为行间跨步,非左右相邻) 4. **QUICKSTART.md**:修正 Windows 风格反斜杠路径、CMake 代码块语言标记(cpp→cmake)、函数原型与头文件不一致(补充 handle 参数、删除 stream 参数) 5. **新建 cgetri_batched.md**:补齐缺失的算子文档,函数原型与头文件一致 6. **dir_structure.md**:修正失效文件名引用(op_list.md → api_list.md) 7. **quick_install.md**:删除不存在的 install_deps.sh 和 requirements.txt 引用 8. **CMakeLists.txt**:修正注释中 NPU_ARCH 映射错误(dav-3101 → dav-3510,仅改注释) 9. **CONTRIBUTING.md**:修正失效 FAQs 链接 10. **SECURITY.md**:删除与本项目无关的 PyTorch 安全声明 ## 关联的Issue - [#43](https://gitcode.com/cann/ops-solver/issues/43) - [#44](https://gitcode.com/cann/ops-solver/issues/44) - [#45](https://gitcode.com/cann/ops-solver/issues/45) - [#46](https://gitcode.com/cann/ops-solver/issues/46) - [#47](https://gitcode.com/cann/ops-solver/issues/47) - [#48](https://gitcode.com/cann/ops-solver/issues/48) - [#49](https://gitcode.com/cann/ops-solver/issues/49) - [#50](https://gitcode.com/cann/ops-solver/issues/50) - [#51](https://gitcode.com/cann/ops-solver/issues/51) - [#52](https://gitcode.com/cann/ops-solver/issues/52) - [#53](https://gitcode.com/cann/ops-solver/issues/53) - [#54](https://gitcode.com/cann/ops-solver/issues/54) - [#55](https://gitcode.com/cann/ops-solver/issues/55) - [#56](https://gitcode.com/cann/ops-solver/issues/56) - [#57](https://gitcode.com/cann/ops-solver/issues/57) - [#58](https://gitcode.com/cann/ops-solver/issues/58) - [#59](https://gitcode.com/cann/ops-solver/issues/59) - [#60](https://gitcode.com/cann/ops-solver/issues/60) ## 测试 本次改动均为文档/注释修正,不涉及代码逻辑变更,无需编译测试。已逐一核对改动与各 issue 描述一致,并对照源码(include/cann_ops_solver.h、src/cgetri_batched/cgetri_batched_host.cpp 等)验证文档准确性。 ## 文档更新 本 PR 全部内容为文档更新,涉及以下文件: - docs/api_list.md - docs/zh/cmatinv_batched.md - docs/zh/cgetrf.md、cgetri.md、sgetrf.md、sgetri.md - docs/zh/cgetri_batched.md(新建) - docs/QUICKSTART.md - docs/zh/install/dir_structure.md、quick_install.md - CMakeLists.txt(仅注释) - CONTRIBUTING.md - SECURITY.md ## 类型标签 - [x] 文档更新 See merge request: cann/ops-solver!18 | 16 天前 | |
补充文档&精简日志 Co-authored-by: Tian_1122<tianjunhan@h-partners.com> # message auto-generated for no-merge-commit merge: !6 merge master into master 补充文档&精简日志 Created-by: Tian_1122 Commit-by: Tian_1122 Merged-by: demoauguste Description: ## 变更描述 / Description 补充文档&测试日志精简 ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [ ] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [x] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- Closes #123 可自动关闭 / Closes #123 to auto-close --> - Closes # - References # ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [ ] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [x] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [x] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/ops-solver!6 | 2 个月前 | |
Fix:rectify OAT rule 过滤 csv 测试用例文件 Co-authored-by: root<1302896824@qq.com> # message auto-generated for no-merge-commit merge: !17 merge fix/oat-csv-filter into master Fix:rectify OAT rule 过滤 csv 测试用例文件 Created-by: zhanghua145 Commit-by: root Merged-by: cann-robot Description: ## 描述 修改 OAT.xml,为 defaultPolicyFilter 增加 *.csv 文件过滤规则,并为 license policyitem 指定 filefilter=defaultPolicyFilter,使 csv 测试用例文件不再被 codecheck 拦截,无需手动屏蔽。 ## 关联的Issue [#81](https://gitcode.com/cann/ops-solver/issues/81) ## 测试 本地确认 OAT.xml 语法正确,过滤规则生效。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!17 | 16 天前 | |
Docs: modify docs structure overall Co-authored-by: wangzitao_leo<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !14 merge docs_0514 into master Docs: modify docs structure overall Created-by: wangzitao_leo Commit-by: wangzitao_leo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. README.md 重构: 新增「最新动态」「版本配套」「环境准备」「源码下载」「学习教程」章节,移除旧的步骤式快速入门和目录结构描述,改为通过链接引导用户到独立文档页面。 2. 新建 docs/zh/install/dir_structure.md: 将原 README.md 中的目录结构内容提取为独立文档,并补充了算子目录命名规则、架构子目录说明、测试工程配置指引等详细注释。 3. quick_install.md 术语与结构调整: 将 WebIDE 统一更名为 CANNLab,把「前置依赖」安装步骤从「软件安装」之前移到之后,并将「源码下载」步骤整合到依赖安装流程中。 4. 文档重命名规范化: docs/从开发一个简单算子出发.md → docs/QUICKSTART.md,docs/op_list.md → docs/api_list.md,采用英文文件名统一命名风格。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 1. README.md 2. docs/zh/install/dir_structure.md 3. docs/QUICKSTART.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-solver!14 | 2 个月前 | |
docs: 修复18个文档类issue(#43-#60) Co-authored-by: zhanghua<zhanghua25@mails.ucas.ac.cn> # message auto-generated for no-merge-commit merge: !18 merge fix/doc-issues-43-60 into master docs: 修复18个文档类issue(#43-#60) Created-by: zhanghua145 Commit-by: zhanghua Merged-by: cann-robot Description: ## 描述 本 PR 修复了 ops-solver 仓库中全部 18 个文档类 issue(#43-#60),涉及文档错误、失效链接、概念性错误描述、缺失文档等问题。具体修复内容: 1. **api_list.md**:删除不存在的接口(aclsolverSetWorkspace/aclsolverGetVersion),区分 CmatinvBatched(n≤32)与 CgetriBatched(n>32)描述 2. **cmatinv_batched.md**:修正 Ainv/info 参数输入输出类型标注、n 参数描述、补充 n>32 自动转调 CgetriBatched 说明、修正 main 返回值、修正 lda 参数描述 3. **cgetrf/cgetri/sgetrf/sgetri.md**:修正 lda 参数概念性错误描述(leading dimension 为行间跨步,非左右相邻) 4. **QUICKSTART.md**:修正 Windows 风格反斜杠路径、CMake 代码块语言标记(cpp→cmake)、函数原型与头文件不一致(补充 handle 参数、删除 stream 参数) 5. **新建 cgetri_batched.md**:补齐缺失的算子文档,函数原型与头文件一致 6. **dir_structure.md**:修正失效文件名引用(op_list.md → api_list.md) 7. **quick_install.md**:删除不存在的 install_deps.sh 和 requirements.txt 引用 8. **CMakeLists.txt**:修正注释中 NPU_ARCH 映射错误(dav-3101 → dav-3510,仅改注释) 9. **CONTRIBUTING.md**:修正失效 FAQs 链接 10. **SECURITY.md**:删除与本项目无关的 PyTorch 安全声明 ## 关联的Issue - [#43](https://gitcode.com/cann/ops-solver/issues/43) - [#44](https://gitcode.com/cann/ops-solver/issues/44) - [#45](https://gitcode.com/cann/ops-solver/issues/45) - [#46](https://gitcode.com/cann/ops-solver/issues/46) - [#47](https://gitcode.com/cann/ops-solver/issues/47) - [#48](https://gitcode.com/cann/ops-solver/issues/48) - [#49](https://gitcode.com/cann/ops-solver/issues/49) - [#50](https://gitcode.com/cann/ops-solver/issues/50) - [#51](https://gitcode.com/cann/ops-solver/issues/51) - [#52](https://gitcode.com/cann/ops-solver/issues/52) - [#53](https://gitcode.com/cann/ops-solver/issues/53) - [#54](https://gitcode.com/cann/ops-solver/issues/54) - [#55](https://gitcode.com/cann/ops-solver/issues/55) - [#56](https://gitcode.com/cann/ops-solver/issues/56) - [#57](https://gitcode.com/cann/ops-solver/issues/57) - [#58](https://gitcode.com/cann/ops-solver/issues/58) - [#59](https://gitcode.com/cann/ops-solver/issues/59) - [#60](https://gitcode.com/cann/ops-solver/issues/60) ## 测试 本次改动均为文档/注释修正,不涉及代码逻辑变更,无需编译测试。已逐一核对改动与各 issue 描述一致,并对照源码(include/cann_ops_solver.h、src/cgetri_batched/cgetri_batched_host.cpp 等)验证文档准确性。 ## 文档更新 本 PR 全部内容为文档更新,涉及以下文件: - docs/api_list.md - docs/zh/cmatinv_batched.md - docs/zh/cgetrf.md、cgetri.md、sgetrf.md、sgetri.md - docs/zh/cgetri_batched.md(新建) - docs/QUICKSTART.md - docs/zh/install/dir_structure.md、quick_install.md - CMakeLists.txt(仅注释) - CONTRIBUTING.md - SECURITY.md ## 类型标签 - [x] 文档更新 See merge request: cann/ops-solver!18 | 16 天前 | |
[feat]: add aclsolverDn handle management APIs Co-authored-by: chenbinbin199309<chenbinbin20@huawei.com> # message auto-generated for no-merge-commit merge: !7 merge handle into master [feat]: add aclsolverDn handle management APIs Created-by: chenbinbin199309 Commit-by: chenbinbin199309 Merged-by: wangzitao_leo Description: ## 变更描述 / Description 新增handle管理接口 <!-- 本 PR 做了什么,为什么需要 / What does this PR do and why --> ## 改动类型 / Change Type - [ ] Bug 修复 / Bug Fix - [x] 新功能 / New Feature - [ ] 性能优化 / Performance - [ ] 代码重构 / Refactoring - [ ] 文档更新 / Documentation - [ ] 测试相关 / Test - [ ] 其它 / Other ## 关联 Issue / Related Issues <!-- Closes #123 可自动关闭 / Closes #123 to auto-close --> [#4](https://gitcode.com/cann/ops-solver/issues/4) - Closes # - References # ## 测试信息 / Testing <!-- 简要测试说明或关键结果 / Brief test description or key results --> - [x] 单元测试通过 / UT passed - [ ] 集成测试通过 / ST passed - [ ] 人工验证通过 / Manual verified ## 检查清单 / Checklist - [x] 代码符合规范 / Code follows style guide - [x] 测试添加并通过 / Tests added and passed - [x] 文档已更新 / Docs updated if needed - [x] 无硬编码敏感信息 / No secrets hardcoded - [x] 提交信息符合规范 / Commit message follows convention See merge request: cann/ops-solver!7 | 2 个月前 |
ops-solver
🔥Latest News
- [2026/04] ops-solver项目上线。
🚀概述
ops-solver 是基于昇腾NPU芯片的高级数值求解算子库,提供包括矩阵分解、矩阵求逆、特征值计算、特征向量计算、线性方程组求解等功能。
📌版本配套
当前仓库已验证通过的社区版 CANN Toolkit 如下:
| CANN 版本 | 时间戳 | 验证结果 | 下载链接 |
|---|---|---|---|
9.0.0 |
20260422000325096 |
✅ PASS | aarch64 / x86_64 |
9.0.0 |
20260325000325538 |
✅ PASS | aarch64 / x86_64 |
请根据实际 CPU 架构,从上述链接目录中自行选择对应的 .run 安装包。
🛠️环境准备
环境部署是体验本项目能力的前提,请先完成NPU驱动、CANN包安装等,确保环境正常。
⬇️源码下载
环境准备好后,下载与CANN版本配套的分支源码,命令如下,${tag_version}替换为分支标签名。
说明:若环境中已存在配套分支源码,可跳过本步骤,例如CANNLab默认已提供最新商发版CANN对应的源码。
git clone -b ${tag_version} https://gitcode.com/cann/ops-solver.git
说明:对于CANNLab云开发环境,已默认提供最新商发CANN版本配套的源码,如需获取其他版本源码,参考上述命令获取。
📖学习教程
- 快速入门:从零开始快速体验项目核心基础能力,涵盖源码编译、算子调用、开发与调试等操作。
💬相关信息
🤝联系我们
本项目功能和文档正在持续更新和完善中,建议您关注最新版本。