| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
md大模型检测低错修改 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5183 merge master into master md大模型检测低错修改 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md大模型检测低错修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 2466](https://gitcode.com/cann/ops-math/issues/2446) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5183 | 1 个月前 | |
Cholesky示例改用C++ RAII资源管理,与IsFinite/IsInf示例风格对齐 Co-authored-by: zhouqilong<zhouqilong2@huawei.com> # message auto-generated for no-merge-commit merge: !4666 merge raii-cholesky into master Cholesky示例改用C++ RAII资源管理,与IsFinite/IsInf示例风格对齐 Created-by: zhou-qilong Commit-by: zhouqilong Merged-by: cann-robot Description: ## 描述 将 math/cholesky/examples 下的 aclnn 示例由手动资源管理改为 C++ RAII 管理,与同仓 math/is_finite、math/is_inf 示例风格保持一致。 ## 测试 -Start to run examples, name:cholesky mode:eager Start compile and run examples file: ../math/cholesky/examples/test_aclnn_linalg_cholesky.cpp pkg_mode:cust vendor_name:cholesky result[0] is: 2.449490 result[1] is: 0.000000 result[2] is: 0.000000 result[3] is: -1.224745 result[4] is: 0.707107 result[5] is: 0.000000 result[6] is: 0.408248 result[7] is: 0.707107 result[8] is: 1.825742 run test_aclnn_cholesky, execute samples success ## 文档更新 无。 ## 类型标签 - [x] 其他,请描述:示例代码改造(C++ RAII资源管理) See merge request: cann/ops-math!4666 | 1 个月前 | |
剥离math下op_host/op_api到op_api Co-authored-by: yue-ma<mayue54@huawei.com> # message auto-generated for no-merge-commit merge: !4246 merge master into master 剥离math下op_host/op_api到op_api Created-by: yue-ma Commit-by: yue-ma Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次变更主要对 math 目录下多个算子的目录结构进行扁平化整理:将原先嵌套在 op_host/op_api/ 中的 API 实现文件直接提升到 op_api/ 层级 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2392 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT/ST通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4246 | 2 个月前 | |
fix: 迁移Adds/Cholesky算子原型至对应目录 Co-authored-by: sunchun<sunchun4@h-partners.com> # message auto-generated for no-merge-commit merge: !5129 merge auto-fix/issue-2304-proto into master fix: 迁移Adds/Cholesky算子原型至对应目录 Created-by: sunchun Commit-by: sunchun Merged-by: cann-robot Description: ## 背景 issue #2304 指出公共头文件 op_math_proto_extend.h 中定义了一批算子原型,但其中部分算子已有独立目录,其原型应迁移至对应算子目录下的 op_graph 文件夹中。 ## 修改内容 1. 新建 math/adds/op_graph/adds_proto.h,将 Adds 算子原型从公共头迁移至此。 2. 新建 math/cholesky/op_graph/cholesky_proto.h,将 Cholesky 算子原型从公共头迁移至此。 3. 从 common/inc/op_graph/op_math_proto_extend.h 中移除 Adds、Cholesky、Pdist 的原型定义(Pdist 原型已在 experimental/math/pdist/op_graph/pdist_proto.h 中定义,无需修改)。 4. 更新依赖 Adds 原型的插件文件 include 引用路径。 5. 更新 math/adds/README.md 中的算子 IR 路径引用。 ## 验证方式 - 构建可正常通过,op_graph 下新 proto 文件由 cmake/func.cmake 自动收集。 - 通过 clang-format 与 OAT License Header 格式检查。 Closes #2304 See merge request: cann/ops-math!5129 | 1 个月前 | |
perf(cholesky):cholesky算子 新精度对齐GPU性能 Co-authored-by: Davon14272<liuwenda4@huawei.com> # message auto-generated for no-merge-commit merge: !5640 merge perf/cholesky-panel into master perf(cholesky):cholesky算子 新精度对齐GPU性能 Created-by: Davon14272 Commit-by: Davon14272 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 是对 cholesky 算子(math/cholesky 模块)的性能优化,核心是重构 host 侧 cholesky_tiling.cpp 的核数分配与调度策略:将原先"单矩阵按面板块分核、批量按矩阵分核"的固定方式,统一为基于协同(cooperative)模式的调度——单矩阵或大维度批量时请求全核,按"面板分解由面板属主核串行、trailing Schur 更新按行条带铺满所有 AIV 核"的 right-looking 面板算法运行,并在 RunBigKernelTiling 中为协同模式配置 SetScheduleMode(1)(BATCH_MODE_SCHEDULE)以配合 SyncAll 全核同步。同时新增 SINGLE_MATRIX_SINGLE_CORE_MAX 与 BATCH_COOP_MIN_M 两个阈值:极小单矩阵保持单核以避免全核同步开销主导,小批量仍保持每矩阵一核。kernel 侧 cholesky.h 改动量最大,对应 PR 标题所述"通过上三角面板与转置统一 tril、批量协同"的算子实现。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5640 | 1 个月前 | |
perf(cholesky):cholesky算子 新精度对齐GPU性能 Co-authored-by: Davon14272<liuwenda4@huawei.com> # message auto-generated for no-merge-commit merge: !5640 merge perf/cholesky-panel into master perf(cholesky):cholesky算子 新精度对齐GPU性能 Created-by: Davon14272 Commit-by: Davon14272 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 是对 cholesky 算子(math/cholesky 模块)的性能优化,核心是重构 host 侧 cholesky_tiling.cpp 的核数分配与调度策略:将原先"单矩阵按面板块分核、批量按矩阵分核"的固定方式,统一为基于协同(cooperative)模式的调度——单矩阵或大维度批量时请求全核,按"面板分解由面板属主核串行、trailing Schur 更新按行条带铺满所有 AIV 核"的 right-looking 面板算法运行,并在 RunBigKernelTiling 中为协同模式配置 SetScheduleMode(1)(BATCH_MODE_SCHEDULE)以配合 SyncAll 全核同步。同时新增 SINGLE_MATRIX_SINGLE_CORE_MAX 与 BATCH_COOP_MIN_M 两个阈值:极小单矩阵保持单核以避免全核同步开销主导,小批量仍保持每矩阵一核。kernel 侧 cholesky.h 改动量最大,对应 PR 标题所述"通过上三角面板与转置统一 tril、批量协同"的算子实现。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5640 | 1 个月前 | |
test(cholesky):cholesky 新精度测试修正 Co-authored-by: Davon14272<liuwenda4@huawei.com> # message auto-generated for no-merge-commit merge: !5312 merge feat/cholesky-delivery into master test(cholesky):cholesky 新精度测试修正 Created-by: Davon14272 Commit-by: Davon14272 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Cholesky(Cholesky 分解)是数值线性代数的基础算子:给定一个实(或 Hermite)对称正定矩阵 A,求一个下三角矩阵 L(对角元为正)使 A = L·L^T,或一个上三角矩阵 U 使 A = U^T·U。它是求解对称正定线性方程组 Ax = b 的核心步骤之一(先分解 A = LL^T,再两次三角回代解 Ly = b、L^T x = y),也是高斯过程对数似然(log|K| 与 K⁻¹y)、卡尔曼平方根滤波、多元正态采样重参数化(x = μ + L·z)、二阶/自然梯度优化等场景的关键算子。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3074](https://gitcode.com/cann/ops-math/issues/3074) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5312 | 1 个月前 | |
剥离math下op_host/op_api到op_api Co-authored-by: yue-ma<mayue54@huawei.com> # message auto-generated for no-merge-commit merge: !4246 merge master into master 剥离math下op_host/op_api到op_api Created-by: yue-ma Commit-by: yue-ma Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次变更主要对 math 目录下多个算子的目录结构进行扁平化整理:将原先嵌套在 op_host/op_api/ 中的 API 实现文件直接提升到 op_api/ 层级 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2392 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT/ST通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4246 | 2 个月前 | |
test(cholesky):cholesky 新精度测试修正 Co-authored-by: Davon14272<liuwenda4@huawei.com> # message auto-generated for no-merge-commit merge: !5312 merge feat/cholesky-delivery into master test(cholesky):cholesky 新精度测试修正 Created-by: Davon14272 Commit-by: Davon14272 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Cholesky(Cholesky 分解)是数值线性代数的基础算子:给定一个实(或 Hermite)对称正定矩阵 A,求一个下三角矩阵 L(对角元为正)使 A = L·L^T,或一个上三角矩阵 U 使 A = U^T·U。它是求解对称正定线性方程组 Ax = b 的核心步骤之一(先分解 A = LL^T,再两次三角回代解 Ly = b、L^T x = y),也是高斯过程对数似然(log|K| 与 K⁻¹y)、卡尔曼平方根滤波、多元正态采样重参数化(x = μ + L·z)、二阶/自然梯度优化等场景的关键算子。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3074](https://gitcode.com/cann/ops-math/issues/3074) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5312 | 1 个月前 |
Cholesky
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
功能说明
-
算子功能:计算实数对称正定矩阵的Cholesky分解。
-
计算公式:
self=out×outHself = out \times out^{H} self=out×outH
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| self | 输入 | 表示传入的tensor,公式中的self。 | FLOAT | ND |
| upper | 属性 | 表示选择上三角矩阵分解还是下三角矩阵分解。 | BOOL | - |
| out | 输出 | 表示传出的tensor,公式中的out。 | FLOAT | ND |
约束说明
- self的维度必须大于等于2,并且需为正定矩阵。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_linalg_cholesky | 通过aclnnLinalgCholesky接口方式调用Cholesky算子。 |