| Files | Last commit | Last update |
|---|---|---|
修改aclnnstack golden Co-authored-by: zhanglei842<zhanglei842@huawei.com> # message auto-generated for no-merge-commit merge: !6240 merge master into master 修改aclnnstack golden Created-by: zhanglei842 Commit-by: zhanglei842 Merged-by: cann-robot Description: ## 描述 pack 是纯数据搬运算子(kernel Pack 语义等价 torch.stack),输出为输入按 axis 拼接的逐 bit 拷贝。现有测试 golden(conversion/pack/tests/assets/golden.py)存在以下不足: 1. 旧 aclnn_stack_golden 仅执行 torch.stack(tensors, dim),未建模 aclnnStack(op_api/aclnn_stack.cpp)的实际执行链——输入 cast 到 promoteType 后打包、输出侧再 cast 到输出 dtype,混合 dtype 用例的 golden 与设备行为不一致; 2. float8_e5m2 / float8_e4m3fn / hifloat8 / bfloat16 等以 ml_dtypes/en_dtypes 扩展 numpy dtype 到达 golden 的输入,torch.from_numpy 不识别,旧 golden 无处理路径; 3. complex32 以 float16 + 尾维 [2](real/imag 交错)存储,负 axis 须归一化到尾维之前,旧 golden 未处理; 4. 无精度标准(tolerance)声明,无 e2e(framework-api torch.stack)通路 golden。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3687 ## 测试 通过ttk验证了直调、geir、ete模式的调用验证,golden结果和npu,竞品相同 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6240 | 15 days ago | |
feat: Add aclnn st cases and golden functions Co-authored-by: yanzhi2024<yanzhi@huawei.com> # message auto-generated for no-merge-commit merge: !5200 merge master into master feat: Add aclnn st cases and golden functions Created-by: yanzhi2024 Commit-by: yanzhi2024 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加蓝区aclnn用例和golden函数 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/5325 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5200 | 2 months ago | |
aclnnDiag和aclnnStack空输入时拦截错形out Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6376 merge issue3555 into master aclnnDiag和aclnnStack空输入时拦截错形out Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 aclnnDiag 和 aclnnStack 在空输入或空对角线的零退路径上,先于出参形状校验返回 ACLNN_SUCCESS,错形 out 被静默放行。空分支此时还没有 diagOpOut / castIn,不能把原来依赖中间 Tensor 的检查直接前移,因此按输入和 diagonal / dim 推导预期形状,再用 OP_CHECK_SHAPE_NOT_EQUAL_WITH_EXPECTED_SIZE 核对 out。形状不符返回 ACLNN_ERR_PARAM_INVALID,形状正确的空结果才保留空执行图。 - **aclnnDiag**:新增 InferDiagOutShape,与 DiagV2 infershape 一致。秩小于 2 时输出边长为 numel + |diagonal| 的方阵;秩为 2 时按 diagonal 抽取对角线,越界长度为 0。推导结果为空时,形状匹配后零退;输入为空且推导结果非空(一维空 tensor、非零 diagonal 得到的非空零矩阵)时,形状匹配后仍 FillScalar 填 0。非空路径仍走原有 CheckReduceOutShape。 - **aclnnStack**:新增 InferStackOutShape,在已归一化的 realDim 处插入 tensor 个数。单个空 tensor,以及全部为空导致 castIn == nullptr 的两条零退,都先核对 out。非空路径仍走原有 CheckShapeAndScalarSame。 ## 关联的Issue [#3555](https://gitcode.com/cann/ops-math/issues/3555) ## 测试 在容器 xxp_9.2 上编译并执行 pack、diag_v2 的 host / op_api 单测,全部通过: - op_host:DiagV2.*、PackInfer*,8 个用例通过 - op_api:l2_diag_test.* 4 个用例通过,l2_stack_test.* 49 个用例通过 覆盖空输入且 out 形状正确时返回成功、形状错误时返回 ACLNN_ERR_PARAM_INVALID,以及一维空输入、非零 diagonal 时仍填零的路径。     ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6376 | 23 days ago |