| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
新增 Logdet 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3459 merge logdetv3 into master 新增 Logdet 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnLogdet 昇腾Ascend生态算子。算子目录位于 experimental/math/logdet,用于计算输入tensor的行列式的对数值,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动的实现概览: - 芯片架构:Ascend 910B - 数据类型:float32 - 调用方式:ACLNN 两段式接口 - 算法核心:带部分主元选取的 LU 分解 当前实现语义与约束条件: - 输入要求: - self.shape = (*, n, n) - 仅支持 float32 - 最后两维必须构成方阵 - 输出语义: - det(self) > 0 → log(det(self)) - det(self) = 0 → -inf - det(self) < 0 → NaN - 空 Tensor: - 第一段接口直接返回成功,workspaceSize = 0 - 高维输入: - 大于 8 维时内部 reshape 到 3 维后计算,再 reshape 回 batch 形状 ## 关联的Issue [[Requirement|需求建议]: 新增 Logdet 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/2016) ## 测试 - UT 通过,op_host 22/22, op_kernel 8/8, 合计 30/30 - ST Real NPU 模式 87/87 通过,覆盖范围: - L0: 23 条门槛用例 - L1: 60 条核心维度×值域组合用例 - L2: 4 条接口显式错误用例 - ATK 在 ATK_CIDA 测试集上通过,包含 - 739/739 条精度泛化用例 - 2 条性能用例 (不同batch size 小矩阵 shape 场景)平均加速比 16.4 ## 文档更新 - experimental/math/logdet/README.md - experimental/math/logdet/docs/aclnnLogdet.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3459 | 2 个月前 | |
新增 Logdet 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3459 merge logdetv3 into master 新增 Logdet 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnLogdet 昇腾Ascend生态算子。算子目录位于 experimental/math/logdet,用于计算输入tensor的行列式的对数值,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动的实现概览: - 芯片架构:Ascend 910B - 数据类型:float32 - 调用方式:ACLNN 两段式接口 - 算法核心:带部分主元选取的 LU 分解 当前实现语义与约束条件: - 输入要求: - self.shape = (*, n, n) - 仅支持 float32 - 最后两维必须构成方阵 - 输出语义: - det(self) > 0 → log(det(self)) - det(self) = 0 → -inf - det(self) < 0 → NaN - 空 Tensor: - 第一段接口直接返回成功,workspaceSize = 0 - 高维输入: - 大于 8 维时内部 reshape 到 3 维后计算,再 reshape 回 batch 形状 ## 关联的Issue [[Requirement|需求建议]: 新增 Logdet 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/2016) ## 测试 - UT 通过,op_host 22/22, op_kernel 8/8, 合计 30/30 - ST Real NPU 模式 87/87 通过,覆盖范围: - L0: 23 条门槛用例 - L1: 60 条核心维度×值域组合用例 - L2: 4 条接口显式错误用例 - ATK 在 ATK_CIDA 测试集上通过,包含 - 739/739 条精度泛化用例 - 2 条性能用例 (不同batch size 小矩阵 shape 场景)平均加速比 16.4 ## 文档更新 - experimental/math/logdet/README.md - experimental/math/logdet/docs/aclnnLogdet.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3459 | 2 个月前 | |
新增 Logdet 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3459 merge logdetv3 into master 新增 Logdet 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnLogdet 昇腾Ascend生态算子。算子目录位于 experimental/math/logdet,用于计算输入tensor的行列式的对数值,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动的实现概览: - 芯片架构:Ascend 910B - 数据类型:float32 - 调用方式:ACLNN 两段式接口 - 算法核心:带部分主元选取的 LU 分解 当前实现语义与约束条件: - 输入要求: - self.shape = (*, n, n) - 仅支持 float32 - 最后两维必须构成方阵 - 输出语义: - det(self) > 0 → log(det(self)) - det(self) = 0 → -inf - det(self) < 0 → NaN - 空 Tensor: - 第一段接口直接返回成功,workspaceSize = 0 - 高维输入: - 大于 8 维时内部 reshape 到 3 维后计算,再 reshape 回 batch 形状 ## 关联的Issue [[Requirement|需求建议]: 新增 Logdet 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/2016) ## 测试 - UT 通过,op_host 22/22, op_kernel 8/8, 合计 30/30 - ST Real NPU 模式 87/87 通过,覆盖范围: - L0: 23 条门槛用例 - L1: 60 条核心维度×值域组合用例 - L2: 4 条接口显式错误用例 - ATK 在 ATK_CIDA 测试集上通过,包含 - 739/739 条精度泛化用例 - 2 条性能用例 (不同batch size 小矩阵 shape 场景)平均加速比 16.4 ## 文档更新 - experimental/math/logdet/README.md - experimental/math/logdet/docs/aclnnLogdet.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3459 | 2 个月前 | |
新增 Logdet 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3459 merge logdetv3 into master 新增 Logdet 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnLogdet 昇腾Ascend生态算子。算子目录位于 experimental/math/logdet,用于计算输入tensor的行列式的对数值,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动的实现概览: - 芯片架构:Ascend 910B - 数据类型:float32 - 调用方式:ACLNN 两段式接口 - 算法核心:带部分主元选取的 LU 分解 当前实现语义与约束条件: - 输入要求: - self.shape = (*, n, n) - 仅支持 float32 - 最后两维必须构成方阵 - 输出语义: - det(self) > 0 → log(det(self)) - det(self) = 0 → -inf - det(self) < 0 → NaN - 空 Tensor: - 第一段接口直接返回成功,workspaceSize = 0 - 高维输入: - 大于 8 维时内部 reshape 到 3 维后计算,再 reshape 回 batch 形状 ## 关联的Issue [[Requirement|需求建议]: 新增 Logdet 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/2016) ## 测试 - UT 通过,op_host 22/22, op_kernel 8/8, 合计 30/30 - ST Real NPU 模式 87/87 通过,覆盖范围: - L0: 23 条门槛用例 - L1: 60 条核心维度×值域组合用例 - L2: 4 条接口显式错误用例 - ATK 在 ATK_CIDA 测试集上通过,包含 - 739/739 条精度泛化用例 - 2 条性能用例 (不同batch size 小矩阵 shape 场景)平均加速比 16.4 ## 文档更新 - experimental/math/logdet/README.md - experimental/math/logdet/docs/aclnnLogdet.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3459 | 2 个月前 | |
新增 Logdet 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3459 merge logdetv3 into master 新增 Logdet 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnLogdet 昇腾Ascend生态算子。算子目录位于 experimental/math/logdet,用于计算输入tensor的行列式的对数值,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动的实现概览: - 芯片架构:Ascend 910B - 数据类型:float32 - 调用方式:ACLNN 两段式接口 - 算法核心:带部分主元选取的 LU 分解 当前实现语义与约束条件: - 输入要求: - self.shape = (*, n, n) - 仅支持 float32 - 最后两维必须构成方阵 - 输出语义: - det(self) > 0 → log(det(self)) - det(self) = 0 → -inf - det(self) < 0 → NaN - 空 Tensor: - 第一段接口直接返回成功,workspaceSize = 0 - 高维输入: - 大于 8 维时内部 reshape 到 3 维后计算,再 reshape 回 batch 形状 ## 关联的Issue [[Requirement|需求建议]: 新增 Logdet 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/2016) ## 测试 - UT 通过,op_host 22/22, op_kernel 8/8, 合计 30/30 - ST Real NPU 模式 87/87 通过,覆盖范围: - L0: 23 条门槛用例 - L1: 60 条核心维度×值域组合用例 - L2: 4 条接口显式错误用例 - ATK 在 ATK_CIDA 测试集上通过,包含 - 739/739 条精度泛化用例 - 2 条性能用例 (不同batch size 小矩阵 shape 场景)平均加速比 16.4 ## 文档更新 - experimental/math/logdet/README.md - experimental/math/logdet/docs/aclnnLogdet.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3459 | 2 个月前 | |
新增 Logdet 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3459 merge logdetv3 into master 新增 Logdet 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnLogdet 昇腾Ascend生态算子。算子目录位于 experimental/math/logdet,用于计算输入tensor的行列式的对数值,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动的实现概览: - 芯片架构:Ascend 910B - 数据类型:float32 - 调用方式:ACLNN 两段式接口 - 算法核心:带部分主元选取的 LU 分解 当前实现语义与约束条件: - 输入要求: - self.shape = (*, n, n) - 仅支持 float32 - 最后两维必须构成方阵 - 输出语义: - det(self) > 0 → log(det(self)) - det(self) = 0 → -inf - det(self) < 0 → NaN - 空 Tensor: - 第一段接口直接返回成功,workspaceSize = 0 - 高维输入: - 大于 8 维时内部 reshape 到 3 维后计算,再 reshape 回 batch 形状 ## 关联的Issue [[Requirement|需求建议]: 新增 Logdet 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/2016) ## 测试 - UT 通过,op_host 22/22, op_kernel 8/8, 合计 30/30 - ST Real NPU 模式 87/87 通过,覆盖范围: - L0: 23 条门槛用例 - L1: 60 条核心维度×值域组合用例 - L2: 4 条接口显式错误用例 - ATK 在 ATK_CIDA 测试集上通过,包含 - 739/739 条精度泛化用例 - 2 条性能用例 (不同batch size 小矩阵 shape 场景)平均加速比 16.4 ## 文档更新 - experimental/math/logdet/README.md - experimental/math/logdet/docs/aclnnLogdet.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3459 | 2 个月前 | |
新增 Logdet 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3459 merge logdetv3 into master 新增 Logdet 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnLogdet 昇腾Ascend生态算子。算子目录位于 experimental/math/logdet,用于计算输入tensor的行列式的对数值,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动的实现概览: - 芯片架构:Ascend 910B - 数据类型:float32 - 调用方式:ACLNN 两段式接口 - 算法核心:带部分主元选取的 LU 分解 当前实现语义与约束条件: - 输入要求: - self.shape = (*, n, n) - 仅支持 float32 - 最后两维必须构成方阵 - 输出语义: - det(self) > 0 → log(det(self)) - det(self) = 0 → -inf - det(self) < 0 → NaN - 空 Tensor: - 第一段接口直接返回成功,workspaceSize = 0 - 高维输入: - 大于 8 维时内部 reshape 到 3 维后计算,再 reshape 回 batch 形状 ## 关联的Issue [[Requirement|需求建议]: 新增 Logdet 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/2016) ## 测试 - UT 通过,op_host 22/22, op_kernel 8/8, 合计 30/30 - ST Real NPU 模式 87/87 通过,覆盖范围: - L0: 23 条门槛用例 - L1: 60 条核心维度×值域组合用例 - L2: 4 条接口显式错误用例 - ATK 在 ATK_CIDA 测试集上通过,包含 - 739/739 条精度泛化用例 - 2 条性能用例 (不同batch size 小矩阵 shape 场景)平均加速比 16.4 ## 文档更新 - experimental/math/logdet/README.md - experimental/math/logdet/docs/aclnnLogdet.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3459 | 2 个月前 |
Logdet
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
功能说明
-
算子功能:计算输入方阵或方阵 batch
self的行列式自然对数log(det(self))。 -
输出语义:
det(self) > 0时,输出log(det(self))det(self) = 0时,输出-infdet(self) < 0时,输出NaN
-
计算公式:
out=log(det(self))\mathrm{out} = \log(\det(\mathrm{self})) out=log(det(self))
其中 self 的最后两维必须构成方阵,整体 shape 为 (*, n, n)。
参数说明
| 参数名 | 输入/输出 | 描述 | 数据类型 | 数据格式 | 维度 |
|---|---|---|---|---|---|
self |
输入 | 输入方阵或方阵 batch | FLOAT |
ND |
(*, n, n),rank >= 2 |
out |
输出 | 行列式自然对数结果 | FLOAT |
ND |
self.shape[:-2] |
约束说明
- 仅支持
float32 - 仅支持
ND self最后两维必须相等- 支持非连续 Tensor
- 支持高维输入(大于 8 维时内部会做 reshape 归一化)
目录说明
| 目录 / 文件 | 说明 |
|---|---|
docs/ |
需求、设计、测试、规格与开发日志 |
op_api/ |
ACLNN 两段式接口实现 |
op_host/ |
Host 侧注册、InferShape、Tiling |
op_kernel/ |
Ascend C Kernel 实现 |
tests/st/ |
ST 测试工程 |
tests/ut/ |
UT 测试工程 |
调用与文档入口
| 内容 | 路径 |
|---|---|
| ACLNN 接口说明 | docs/aclnnLogdet.md |