文件最后提交记录最后更新时间
[CANNBot] ErfInv 算子支持 Ascend910B/910C/950 AscendC 实现 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !2370 merge feat/add-experimental-erf-inv into master [CANNBot] ErfInv 算子支持 Ascend910B/910C/950 AscendC 实现 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ## 描述 新增 ErfInv(逆误差函数)算子到 experimental/math/erf_inv/。 **算子功能**:计算逆误差函数 erfinv(x),使输出 y 满足 erf(y) = x。 **计算方法**:两段 Horner 多项式逼近(Mike Giles 算法),通过 CompareScalar + Select 实现区域混合。 **支持数据类型**:float16, float32 **目标芯片**:ascend910b, ascend910_93, ascend950 **交付件**: - op_host/:算子定义、Shape 推导、Tiling 策略(动态核数 + pivot 均衡) - op_kernel/:Kernel 入口 + KernelErfInv 实现 + C++ POD TilingData + TilingKey - examples/test_aclnn_erf_inv.cpp:aclnn C++ 调用示例(含综合精度测试) - CMakeLists.txtadd_all_modules_sources(OPTYPE erf_inv ACLNNTYPE aclnn) ## 关联的 Issue 无 ## 测试 三平台全部验证通过: | SoC | CANN | 验证方式 | 结果 | |-----|------|---------|------| | ascend910b | 8.5.0 | 真机 aclnn | ✅ 9/9 | | ascend910_93 | 9.0.0 | 真机 aclnn | ✅ 9/9 | | ascend950 | 9.0.0-beta.2 | CPU 模拟器 cannsim | ✅ 9/9 | **精度详情**(9 个用例,ALL PASSED): | 用例 | dtype | shape | 元素数 | 最大误差 | |------|-------|-------|--------|---------| | 固定值(含 ±0.999 边界) | float32 | (17,) | 17 | 5.96e-08 | | 非对齐 | float32 | (3, 5) | 15 | 5.96e-08 | | 中等 | float32 | (1024,) | 1024 | 8.94e-08 | | 多维 | float32 | (32, 32) | 1024 | 8.94e-08 | | 多核 | float32 | (100000,) | 100000 | 1.19e-07 | | 固定值 | float16 | (17,) | 17 | 4.63e-04 | | 非对齐 | float16 | (7,) | 7 | 4.63e-04 | | 中等 | float16 | (1024,) | 1024 | 6.66e-04 | | 多核 | float16 | (100000,) | 100000 | 6.85e-04 | - **验证方法**:roundtrip erf(erfinv(x)) == x ## 文档更新 无 ## 类型标签 - [ ] Bug 修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!23701 个月前
refactor: 清理 experimental 目录 tiling 文件中多余的头文件引用 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2956 merge master into master refactor: 清理 experimental 目录 tiling 文件中多余的头文件引用 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29567 天前
[CANNBot] ErfInv 算子支持 Ascend910B/910C/950 AscendC 实现 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !2370 merge feat/add-experimental-erf-inv into master [CANNBot] ErfInv 算子支持 Ascend910B/910C/950 AscendC 实现 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ## 描述 新增 ErfInv(逆误差函数)算子到 experimental/math/erf_inv/。 **算子功能**:计算逆误差函数 erfinv(x),使输出 y 满足 erf(y) = x。 **计算方法**:两段 Horner 多项式逼近(Mike Giles 算法),通过 CompareScalar + Select 实现区域混合。 **支持数据类型**:float16, float32 **目标芯片**:ascend910b, ascend910_93, ascend950 **交付件**: - op_host/:算子定义、Shape 推导、Tiling 策略(动态核数 + pivot 均衡) - op_kernel/:Kernel 入口 + KernelErfInv 实现 + C++ POD TilingData + TilingKey - examples/test_aclnn_erf_inv.cpp:aclnn C++ 调用示例(含综合精度测试) - CMakeLists.txtadd_all_modules_sources(OPTYPE erf_inv ACLNNTYPE aclnn) ## 关联的 Issue 无 ## 测试 三平台全部验证通过: | SoC | CANN | 验证方式 | 结果 | |-----|------|---------|------| | ascend910b | 8.5.0 | 真机 aclnn | ✅ 9/9 | | ascend910_93 | 9.0.0 | 真机 aclnn | ✅ 9/9 | | ascend950 | 9.0.0-beta.2 | CPU 模拟器 cannsim | ✅ 9/9 | **精度详情**(9 个用例,ALL PASSED): | 用例 | dtype | shape | 元素数 | 最大误差 | |------|-------|-------|--------|---------| | 固定值(含 ±0.999 边界) | float32 | (17,) | 17 | 5.96e-08 | | 非对齐 | float32 | (3, 5) | 15 | 5.96e-08 | | 中等 | float32 | (1024,) | 1024 | 8.94e-08 | | 多维 | float32 | (32, 32) | 1024 | 8.94e-08 | | 多核 | float32 | (100000,) | 100000 | 1.19e-07 | | 固定值 | float16 | (17,) | 17 | 4.63e-04 | | 非对齐 | float16 | (7,) | 7 | 4.63e-04 | | 中等 | float16 | (1024,) | 1024 | 6.66e-04 | | 多核 | float16 | (100000,) | 100000 | 6.85e-04 | - **验证方法**:roundtrip erf(erfinv(x)) == x ## 文档更新 无 ## 类型标签 - [ ] Bug 修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!23701 个月前
[CANNBot] ErfInv 算子支持 Ascend910B/910C/950 AscendC 实现 Co-authored-by: Xinxian Chen<chenxinxian1@huawei.com> # message auto-generated for no-merge-commit merge: !2370 merge feat/add-experimental-erf-inv into master [CANNBot] ErfInv 算子支持 Ascend910B/910C/950 AscendC 实现 Created-by: vINyLogY Commit-by: Xinxian Chen Merged-by: cann-robot Description: ## 描述 新增 ErfInv(逆误差函数)算子到 experimental/math/erf_inv/。 **算子功能**:计算逆误差函数 erfinv(x),使输出 y 满足 erf(y) = x。 **计算方法**:两段 Horner 多项式逼近(Mike Giles 算法),通过 CompareScalar + Select 实现区域混合。 **支持数据类型**:float16, float32 **目标芯片**:ascend910b, ascend910_93, ascend950 **交付件**: - op_host/:算子定义、Shape 推导、Tiling 策略(动态核数 + pivot 均衡) - op_kernel/:Kernel 入口 + KernelErfInv 实现 + C++ POD TilingData + TilingKey - examples/test_aclnn_erf_inv.cpp:aclnn C++ 调用示例(含综合精度测试) - CMakeLists.txtadd_all_modules_sources(OPTYPE erf_inv ACLNNTYPE aclnn) ## 关联的 Issue 无 ## 测试 三平台全部验证通过: | SoC | CANN | 验证方式 | 结果 | |-----|------|---------|------| | ascend910b | 8.5.0 | 真机 aclnn | ✅ 9/9 | | ascend910_93 | 9.0.0 | 真机 aclnn | ✅ 9/9 | | ascend950 | 9.0.0-beta.2 | CPU 模拟器 cannsim | ✅ 9/9 | **精度详情**(9 个用例,ALL PASSED): | 用例 | dtype | shape | 元素数 | 最大误差 | |------|-------|-------|--------|---------| | 固定值(含 ±0.999 边界) | float32 | (17,) | 17 | 5.96e-08 | | 非对齐 | float32 | (3, 5) | 15 | 5.96e-08 | | 中等 | float32 | (1024,) | 1024 | 8.94e-08 | | 多维 | float32 | (32, 32) | 1024 | 8.94e-08 | | 多核 | float32 | (100000,) | 100000 | 1.19e-07 | | 固定值 | float16 | (17,) | 17 | 4.63e-04 | | 非对齐 | float16 | (7,) | 7 | 4.63e-04 | | 中等 | float16 | (1024,) | 1024 | 6.66e-04 | | 多核 | float16 | (100000,) | 100000 | 6.85e-04 | - **验证方法**:roundtrip erf(erfinv(x)) == x ## 文档更新 无 ## 类型标签 - [ ] Bug 修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!23701 个月前