| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
allow hf32 config Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !10038 merge master into master allow hf32 config Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 本 PR 旨在为算子新增 HF32(高精度浮点 32 位)执行配置能力。在构建系统 cmake/func.cmake 中为 add_modules_sources 函数与 add_all_modules_sources 宏新增 ALLOW_HF32 参数(取值 enable_hi_float_32_execution / enable_float_32_execution),通过新增的 record_allow_hf32_ops 函数按 OPTYPE 去重记录允许 HF32 的算子,并在顶层 CMakeLists 的 add_category_subdirectory 之后由 gen_allow_hf32_ini 汇总生成 ops_allow_hf32_nn.ini 安装到 ops/built-in/tbe/impl_mode 目录;同时新增 install_allow_hf32_legacy_ini 将 scripts/package/legacy 下的 legacy ini 文件安装到同一目录,并以 4 个 ini 文件提供 conv/matmul 系列算子的四种 HF32 组合配置。 主要改动 - 新增 ALLOW_HF32 配置参数: 在 add_modules_sources 函数和 add_all_modules_sources 宏的 oneValueArgs 中新增 ALLOW_HF32,并将该参数从宏透传给函数,使算子模块可通过该参数声明允许 HF32 执行,取值仅支持 enable_hi_float_32_execution 或 enable_float_32_execution(非法值触发 FATAL_ERROR)。 - 新增 record_allow_hf32_ops 函数: 在 add_modules_sources 中配置了 ALLOW_HF32 时调用,以 OPTYPE=allow_hf32_value 格式记录算子并以 OPTYPE 为键去重,结果缓存到 ALLOW_HF32_NN_OPS 内部缓存变量,供后续生成 ini 文件使用。 - 新增 gen_allow_hf32_ini 与 install_allow_hf32_legacy_ini 函数: 前者汇总 ALLOW_HF32_NN_OPS 去重、排序后写入 ops_allow_hf32_nn.ini 并安装到 ops/built-in/tbe/impl_mode;后者将 scripts/package/legacy/ 目录下的 legacy ini 文件安装到同一目录;两者均在 ENABLE_CUSTOM 时跳过。 - 新增 4 个 legacy ini 配置文件: 在 scripts/package/legacy/ 下新增 allow_hf32_matmul_f_conv_f.ini、allow_hf32_matmul_f_conv_t.ini、allow_hf32_matmul_t_conv_f.ini、allow_hf32_matmul_t_conv_t.ini,分别为 Conv2D/Conv3D/DepthwiseConv2D 等卷积类算子与 MatMul/MatMulV2/BatchMatMul 等矩阵乘类算子配置 enable_float_32_execution 或 enable_hi_float_32_execution 的四种组合;其中 allow_hf32_matmul_t_conv_t.ini 额外包含 Einsum、TransposeBatchMatMul、FusedMatMul 三个算子。 ## 关联的Issue [#5877](https://gitcode.com/cann/ops-nn/issues/5877) ## 测试 编包安装:成功打包ini文件并安装。 单独卸载nn。仅卸载ops_allow_hf32_nn.ini 单独安装卸载ops-nn:成功安装并卸载,无残留。 算子配置ALLOW_HF32:成功在ini文件中配置算子。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10038 | 10 天前 | |
allow hf32 config Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !10038 merge master into master allow hf32 config Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 本 PR 旨在为算子新增 HF32(高精度浮点 32 位)执行配置能力。在构建系统 cmake/func.cmake 中为 add_modules_sources 函数与 add_all_modules_sources 宏新增 ALLOW_HF32 参数(取值 enable_hi_float_32_execution / enable_float_32_execution),通过新增的 record_allow_hf32_ops 函数按 OPTYPE 去重记录允许 HF32 的算子,并在顶层 CMakeLists 的 add_category_subdirectory 之后由 gen_allow_hf32_ini 汇总生成 ops_allow_hf32_nn.ini 安装到 ops/built-in/tbe/impl_mode 目录;同时新增 install_allow_hf32_legacy_ini 将 scripts/package/legacy 下的 legacy ini 文件安装到同一目录,并以 4 个 ini 文件提供 conv/matmul 系列算子的四种 HF32 组合配置。 主要改动 - 新增 ALLOW_HF32 配置参数: 在 add_modules_sources 函数和 add_all_modules_sources 宏的 oneValueArgs 中新增 ALLOW_HF32,并将该参数从宏透传给函数,使算子模块可通过该参数声明允许 HF32 执行,取值仅支持 enable_hi_float_32_execution 或 enable_float_32_execution(非法值触发 FATAL_ERROR)。 - 新增 record_allow_hf32_ops 函数: 在 add_modules_sources 中配置了 ALLOW_HF32 时调用,以 OPTYPE=allow_hf32_value 格式记录算子并以 OPTYPE 为键去重,结果缓存到 ALLOW_HF32_NN_OPS 内部缓存变量,供后续生成 ini 文件使用。 - 新增 gen_allow_hf32_ini 与 install_allow_hf32_legacy_ini 函数: 前者汇总 ALLOW_HF32_NN_OPS 去重、排序后写入 ops_allow_hf32_nn.ini 并安装到 ops/built-in/tbe/impl_mode;后者将 scripts/package/legacy/ 目录下的 legacy ini 文件安装到同一目录;两者均在 ENABLE_CUSTOM 时跳过。 - 新增 4 个 legacy ini 配置文件: 在 scripts/package/legacy/ 下新增 allow_hf32_matmul_f_conv_f.ini、allow_hf32_matmul_f_conv_t.ini、allow_hf32_matmul_t_conv_f.ini、allow_hf32_matmul_t_conv_t.ini,分别为 Conv2D/Conv3D/DepthwiseConv2D 等卷积类算子与 MatMul/MatMulV2/BatchMatMul 等矩阵乘类算子配置 enable_float_32_execution 或 enable_hi_float_32_execution 的四种组合;其中 allow_hf32_matmul_t_conv_t.ini 额外包含 Einsum、TransposeBatchMatMul、FusedMatMul 三个算子。 ## 关联的Issue [#5877](https://gitcode.com/cann/ops-nn/issues/5877) ## 测试 编包安装:成功打包ini文件并安装。 单独卸载nn。仅卸载ops_allow_hf32_nn.ini 单独安装卸载ops-nn:成功安装并卸载,无残留。 算子配置ALLOW_HF32:成功在ini文件中配置算子。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10038 | 10 天前 | |
allow hf32 config Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !10038 merge master into master allow hf32 config Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 本 PR 旨在为算子新增 HF32(高精度浮点 32 位)执行配置能力。在构建系统 cmake/func.cmake 中为 add_modules_sources 函数与 add_all_modules_sources 宏新增 ALLOW_HF32 参数(取值 enable_hi_float_32_execution / enable_float_32_execution),通过新增的 record_allow_hf32_ops 函数按 OPTYPE 去重记录允许 HF32 的算子,并在顶层 CMakeLists 的 add_category_subdirectory 之后由 gen_allow_hf32_ini 汇总生成 ops_allow_hf32_nn.ini 安装到 ops/built-in/tbe/impl_mode 目录;同时新增 install_allow_hf32_legacy_ini 将 scripts/package/legacy 下的 legacy ini 文件安装到同一目录,并以 4 个 ini 文件提供 conv/matmul 系列算子的四种 HF32 组合配置。 主要改动 - 新增 ALLOW_HF32 配置参数: 在 add_modules_sources 函数和 add_all_modules_sources 宏的 oneValueArgs 中新增 ALLOW_HF32,并将该参数从宏透传给函数,使算子模块可通过该参数声明允许 HF32 执行,取值仅支持 enable_hi_float_32_execution 或 enable_float_32_execution(非法值触发 FATAL_ERROR)。 - 新增 record_allow_hf32_ops 函数: 在 add_modules_sources 中配置了 ALLOW_HF32 时调用,以 OPTYPE=allow_hf32_value 格式记录算子并以 OPTYPE 为键去重,结果缓存到 ALLOW_HF32_NN_OPS 内部缓存变量,供后续生成 ini 文件使用。 - 新增 gen_allow_hf32_ini 与 install_allow_hf32_legacy_ini 函数: 前者汇总 ALLOW_HF32_NN_OPS 去重、排序后写入 ops_allow_hf32_nn.ini 并安装到 ops/built-in/tbe/impl_mode;后者将 scripts/package/legacy/ 目录下的 legacy ini 文件安装到同一目录;两者均在 ENABLE_CUSTOM 时跳过。 - 新增 4 个 legacy ini 配置文件: 在 scripts/package/legacy/ 下新增 allow_hf32_matmul_f_conv_f.ini、allow_hf32_matmul_f_conv_t.ini、allow_hf32_matmul_t_conv_f.ini、allow_hf32_matmul_t_conv_t.ini,分别为 Conv2D/Conv3D/DepthwiseConv2D 等卷积类算子与 MatMul/MatMulV2/BatchMatMul 等矩阵乘类算子配置 enable_float_32_execution 或 enable_hi_float_32_execution 的四种组合;其中 allow_hf32_matmul_t_conv_t.ini 额外包含 Einsum、TransposeBatchMatMul、FusedMatMul 三个算子。 ## 关联的Issue [#5877](https://gitcode.com/cann/ops-nn/issues/5877) ## 测试 编包安装:成功打包ini文件并安装。 单独卸载nn。仅卸载ops_allow_hf32_nn.ini 单独安装卸载ops-nn:成功安装并卸载,无残留。 算子配置ALLOW_HF32:成功在ini文件中配置算子。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10038 | 10 天前 |