文件最后提交记录最后更新时间
fix: fix logic errors, bounds issues, and undefined behavior from security audit Co-authored-by: xiu_21<caixiuxiu1@huawei.com> # message auto-generated for no-merge-commit merge: !4987 merge security_code into master fix: fix logic errors, bounds issues, and undefined behavior from security audit Created-by: xiu_21 Commit-by: xiu_21 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修改代码中存在的逻辑错误、边界问题和未定义行为。 ### 1. 逻辑运算符错误(2处,||&&) | 文件 | 问题 | 修改 | |------|------|------| | [FusedAttentionLnQKV.cpp:28](op_plugin/ops/aclops/FusedAttentionLnQKV.cpp#L28) | seq_len != 0 \|\| num_heads != 0 导致单参数为零时校验被绕过 | 改为 seq_len != 0 && num_heads != 0 | | [FftRfftKernelNpuOpApi.cpp:49](op_plugin/ops/opapi/FftRfftKernelNpuOpApi.cpp#L49) | (dim < self.dim() \|\| dim >= 0) 导致越界 dim 仍通过校验 | 改为 (dim >= 0 && dim < self.dim()) | ### 2. 越界/空值校验(7处,添加前置检查) | 文件 | 问题 | 修改 | |------|------|------| | [CtcLossKernelNpu.cpp:43](op_plugin/ops/aclops/CtcLossKernelNpu.cpp#L43) | shape[2] 在 log_probs 为 2D tensor 时越界 | 根据 dim() 选择 shape[2]shape[1] | | [AdaptiveMaxPool2dKernelNpu.cpp:53-56](op_plugin/ops/aclops/AdaptiveMaxPool2dKernelNpu.cpp#L53-L56) | self.size(3) 在 self 为 3D tensor 时越界 | 根据 dim() 区分 3D/4D 索引映射 | | [UpsampleBilinear2dKernelNpu.cpp:35](op_plugin/ops/aclops/UpsampleBilinear2dKernelNpu.cpp#L35) | output_size[1] 前仅校验 size() >= 1 | 改为校验 size() >= 2 | | [ConfusionTransposeKernelNpu.cpp:87](op_plugin/ops/aclops/ConfusionTransposeKernelNpu.cpp#L87) | temp_perm[perm[i]] 索引值未校验范围 | 添加 TORCH_CHECK(perm[i] >= 0 && perm[i] < perm_len) | | [MmKernelNpu.cpp:170](op_plugin/ops/aclops/MmKernelNpu.cpp#L170) | self.size(self.dim()-2) 在维度不足时越界 | 添加 TORCH_CHECK(self.dim() >= 2 && mat2.dim() >= 2) | | [FFTc2rKernelNpuOpApi.cpp:29](op_plugin/ops/opapi/FFTc2rKernelNpuOpApi.cpp#L29) | dim.back() 未校验数组是否为空 | 添加 TORCH_CHECK(!dim.empty()) | | [model.py:67-70](torchnpugen/struct/model.py#L67-L70) | info.pop() 时 info 可能为 None | 添加 if info is None: raise RuntimeError 提前拦截 | | [struct_codegen.py:35](torchnpugen/struct/struct_codegen.py#L35) | os.environ.get('PYTORCH_VERSION') 未设置时返回 None.split() 崩溃 | 拆分调用:先判空、再 split、再校验长度 >= 2 | ### 3. 悬垂引用/指针(2处,延长生命周期) | 文件 | 问题 | 修改 | |------|------|------| | [AvgPool2dBackwardKernelNpu.cpp:82-97](op_plugin/ops/aclops/AvgPool2dBackwardKernelNpu.cpp#L82-L97) | SmallVector 在 if 块内销毁,IntArrayRef 成为悬垂引用 | 将 SmallVector 声明提到 if 块外部 | | [CropAndResizeKernelNpu.cpp:34](op_plugin/ops/aclops/CropAndResizeKernelNpu.cpp#L34) | std::string(method).data() 临时 string 销毁后指针悬垂 | 声明命名 std::string method_str 变量 | ### 4. 函数无返回值(1处) | 文件 | 问题 | 修改 | |------|------|------| | [AtbCommon.h:87](op_plugin/utils/custom_functions/atb/AtbCommon.h#L87) | GetApiFuncAddr 双 handler 均 null 时函数无 return,未定义行为 | 末尾添加 return nullptr | ### 5. 类型收窄/溢出/API返回值检查(5处) | 文件 | 问题 | 修改 | |------|------|------| | [CdistKernelNpu.cpp:71-72](op_plugin/ops/aclops/CdistKernelNpu.cpp#L71-L72) | int 类型存储 int64_t 累乘结果,可能截断 | 改为 int64_t,初始化值改为 int64_t(1) | | [LinalgQrKernelNpu.cpp:29-31](op_plugin/ops/aclops/LinalgQrKernelNpu.cpp#L29-L31) | int m, n 将 int64_t 的 tensor 维度截断为 32 位 | 改为 int64_t | | [AdaptiveAvgPool3dBackwardKernelNpu.cpp:33-34](op_plugin/ops/aclops/AdaptiveAvgPool3dBackwardKernelNpu.cpp#L33-L34) | 多维度 size 累乘可能溢出 int64_t | 乘法前加 TORCH_CHECK(size <= INT64_MAX / next_dim) | | [AsdSipNpuOpApi.h:248-265](op_plugin/utils/custom_functions/opapi/AsdSipNpuOpApi.h#L248-L265) | FFT API(Create/MakePlan/Sync/Destroy)返回值全部忽略 | 每个调用加 TORCH_CHECK(ret == 0) | | [BatchNormElemtKernelNpuOpApi.cpp:42-43](op_plugin/ops/opapi/BatchNormElemtKernelNpuOpApi.cpp#L42-L43) | optional weight/bias 直接传给 NPU 命令 | 先用 c10::value_or_else 解包为默认空 tensor 再传入 | # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!49878 天前
!2596 [DFX] More detail info in op_log and support common OP_LOG. Merge pull request !2596 from 刘嘉巍/master-dev 11 个月前
!2284 Clean code Merge pull request !2284 from wgb/clean_code 1 年前
!1242 Update copyright * Update copyright 2 年前
!2595 [Feature] Support npu_add_rms_norm_quant. Merge pull request !2595 from 刘嘉巍/log 11 个月前
fix(npu): 对齐searchsorted接口入参为side=right时的正确语义、补齐相关校验和告警信息 Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !4934 merge searchsorted into master fix(npu): 对齐searchsorted接口入参为side=right时的正确语义、补齐相关校验和告警信息 Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/1910 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 涉及用例: python test_reductions.py -v -k test_bucketization_npu 用例主要测试searchsorted接口不同入参和校验告警等情况,PR用于处理对齐side=right时的正确语义、补齐相关校验和告警信息。 - 此前 NPU 侧多直接透传 right,未按 PyTorch 语义处理 **side**(side 存在时应覆盖 right),易导致与 GPU 结果不一致(含边界与 NaN 场景)。 - 设备编排与 CANN / aclnn 侧报错信息与 **ATen searchsorted_pre_check** 不一致,不利于脚本与单测排障(例如 out dtype、sorter、device 等应先抛出 PyTorch 风格 RuntimeError)。 - 非连续输入缺少与 GPU 类似的 **TORCH_WARN_ONCE** 提示,行为不透明。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. **工具头文件(op_plugin/utils/)** - **SearchsortedSideUtil.h**:resolve_searchsorted_effective_right,在 **已完成** searchsorted_pre_check_npu 的前提下,将可选 side 解析为调用底层算子使用的有效 right(避免与校验逻辑重复)。 - **SearchsortedValidateUtil.h**:镜像 **BucketizationUtils.h** 中 **searchsorted_pre_check**,统一 dtype / shape / device / sorter / outout_int32 等约束及报错文案;提供 searchsorted_validate_tensor_out_opsearchsorted_validate_core_no_output(functional、尚无 out 参数时)、searchsorted_validate_scalar_op 等封装,便于 YAML 与内核复用。 - **SearchsortedWarnUtil.h**:searchsorted_tensor_is_row_major_contiguous 与 **warn_if_searchsorted_*_noncontiguous**,对齐 ATen 侧对非连续 boundary / values / sorter 的告警语义。 2. **ACL 内核(SearchsortedKernelNpu.cpp)** 在 **CheckOut / SearchSorted OpCommand** 之前插入 **validate → warn → right_eff**,保证 acl_op 路径与 op_api 策略一致。 3. **op_api 生成配置(op_plugin_functions.yaml)** 对 **searchsorted.Scalar**、**searchsorted.Tensor**、**searchsorted.Tensor_out** 的 **gen_opapi** 增加 **new_params.right_eff**:使用 C++ 逗号表达式 **(validate, warn, resolve)** 顺序执行,表达式值为最终 **bool** 传入 aclnn;**Tensor** 重载不再仅 **structured_inherit**,显式给出 **out size/dtype** 与带 **right_effexec**,以便在分配 **out** 前做与 functional 匹配的校验链。 4. **公共头(op_api_common_base.h)** 在文件末尾 **#include** 上述三个 Searchsorted 工具头,供生成的 op_api 翻译单元在展开 new_params 时可见 **op_plugin::** 符号(通过 **npu_cpp_extension.hop_api_common_base.h** 引入)。 5. **测试(test/test_base_ops/test_searchsorted.py)** 补充与 CPU 对比的 **side / right**、非法 sidesideright 冲突、sorter dtype/shape/越界、跨 device、out dtype 错误、前置维度不匹配、非连续告警等用例。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 自验结果 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/c19a7184-5e3c-4d41-9de9-678fad11f455/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!493419 天前
feat: 新增DC算子Setup/Teardown新接口 Co-authored-by: tongzy1242<tongzeyun@huawei.com> # message auto-generated for no-merge-commit merge: !4468 merge new_op_urma into master feat: 新增DC算子Setup/Teardown新接口 Created-by: tongzy1242 Commit-by: tongzy1242 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> Issue [#892](https://gitcode.com/cann/ops-transformer/issues/892) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 具体实现包括:1)在YAML配置文件中注册算子并配置ACL接口;2)在Python端添加元函数,用于编译时的形状和数据类型推断;3)在C++端实现输出形状和数据类型(如FLOAT8_E8M0)的动态计算逻辑;4)在算子注册配置(JSON)中补充接口签名;5)新增了FakeTensor模式下的元数据测试和多进程分布式环境下的功能集成测试,以验证算子链路的正确性。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 本次修改在算子插件框架中新增了四个算子定义:npu_moe_distribute_dispatch_setup、npu_moe_distribute_dispatch_teardown、npu_moe_distribute_combine_setup和npu_moe_distribute_combine_teardown。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已本地自验证 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!44682 个月前
feat: 新增DC算子Setup/Teardown新接口 Co-authored-by: tongzy1242<tongzeyun@huawei.com> # message auto-generated for no-merge-commit merge: !4468 merge new_op_urma into master feat: 新增DC算子Setup/Teardown新接口 Created-by: tongzy1242 Commit-by: tongzy1242 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> Issue [#892](https://gitcode.com/cann/ops-transformer/issues/892) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 具体实现包括:1)在YAML配置文件中注册算子并配置ACL接口;2)在Python端添加元函数,用于编译时的形状和数据类型推断;3)在C++端实现输出形状和数据类型(如FLOAT8_E8M0)的动态计算逻辑;4)在算子注册配置(JSON)中补充接口签名;5)新增了FakeTensor模式下的元数据测试和多进程分布式环境下的功能集成测试,以验证算子链路的正确性。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 本次修改在算子插件框架中新增了四个算子定义:npu_moe_distribute_dispatch_setup、npu_moe_distribute_dispatch_teardown、npu_moe_distribute_combine_setup和npu_moe_distribute_combine_teardown。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已本地自验证 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!44682 个月前
TQBMM算子增加NZ输入的单算子通路,增加x1_dtype和x2_dtype可选输入 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !4890 merge tqbmm_nz into master TQBMM算子增加NZ输入的单算子通路,增加x1_dtype和x2_dtype可选输入 Created-by: jgx12 Commit-by: jgx12 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/op-plugin/issues/111 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) op-plugin(PyTorch 扩展层):新增 KernelNpuOpApi 实现,根据 x2 格式分支调用不同 ACLNN 接口 at::Tensor npu_transpose_quant_batchmatmul(...) { // ... 参数处理与 output size 计算 ... bool is_nd_nz_format = op_plugin::utils::is_nz_format(x2) && !op_plugin::utils::is_nz_format(x1); if (is_nd_nz_format) { // x2 为 NZ 格式,调用 WeightNz 版本的 ACLNN 接口 EXEC_NPU_CMD(aclnnTransposeQuantBatchMatMulWeightNz, x1, x2, bias_real, ...); } else { // x2 为 ND 格式,调用标准 ACLNN 接口 EXEC_NPU_CMD(aclnnTransposeQuantBatchMatMul, x1, x2, bias_real, ...); } return result; } # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及接口变更,增加x1_dtype和x2_dtype可选输入。用于当x1,x2为hifloat8时,torch原生不支持,使用x1_dtype和x2_dtype传入对应数据类型 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/2b51b324-e990-4e7b-aa50-c237d87153c1/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!48904 天前
TQBMM算子增加NZ输入的单算子通路,增加x1_dtype和x2_dtype可选输入 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !4890 merge tqbmm_nz into master TQBMM算子增加NZ输入的单算子通路,增加x1_dtype和x2_dtype可选输入 Created-by: jgx12 Commit-by: jgx12 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/op-plugin/issues/111 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) op-plugin(PyTorch 扩展层):新增 KernelNpuOpApi 实现,根据 x2 格式分支调用不同 ACLNN 接口 at::Tensor npu_transpose_quant_batchmatmul(...) { // ... 参数处理与 output size 计算 ... bool is_nd_nz_format = op_plugin::utils::is_nz_format(x2) && !op_plugin::utils::is_nz_format(x1); if (is_nd_nz_format) { // x2 为 NZ 格式,调用 WeightNz 版本的 ACLNN 接口 EXEC_NPU_CMD(aclnnTransposeQuantBatchMatMulWeightNz, x1, x2, bias_real, ...); } else { // x2 为 ND 格式,调用标准 ACLNN 接口 EXEC_NPU_CMD(aclnnTransposeQuantBatchMatMul, x1, x2, bias_real, ...); } return result; } # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及接口变更,增加x1_dtype和x2_dtype可选输入。用于当x1,x2为hifloat8时,torch原生不支持,使用x1_dtype和x2_dtype传入对应数据类型 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/2b51b324-e990-4e7b-aa50-c237d87153c1/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!48904 天前
!1713 fix ops * fix ops 1 年前
!1242 Update copyright * Update copyright 2 年前
_foreach_copy with different src/dst stypes Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !5003 merge master into master _foreach_copy with different src/dst stypes Created-by: nomiz Commit-by: nomiz Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/op-plugin/issues/106 - [X] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) foreach_copy支持跨dtype拷贝走优化分支 当前支持的输入类型 fp32->fp16/bf16 , fp16/bf16->fp32 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及。无新增客户可见接口。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 UT看护: - 已适配 op-plugin foreach copy 用例,新增跨dtype场景验证,UT 结果请以当前 CI/转测执行结果为准。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!50038 天前
_foreach_copy with different src/dst stypes Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !5003 merge master into master _foreach_copy with different src/dst stypes Created-by: nomiz Commit-by: nomiz Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/op-plugin/issues/106 - [X] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) foreach_copy支持跨dtype拷贝走优化分支 当前支持的输入类型 fp32->fp16/bf16 , fp16/bf16->fp32 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及。无新增客户可见接口。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 UT看护: - 已适配 op-plugin foreach copy 用例,新增跨dtype场景验证,UT 结果请以当前 CI/转测执行结果为准。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!50038 天前
[feat][A5] random number computation logic alian to PyTorch/GPU Co-authored-by: wanglijun55<wanglijun54@huawei.com> Co-authored-by: 贾剑勇<jiajianyong123@hisilicon.com> # message auto-generated for no-merge-commit merge: !5010 merge master into master [feat][A5] random number computation logic alian to PyTorch/GPU Created-by: wanglijun55 Commit-by: wanglijun55;贾剑勇 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/op-plugin/issues/104 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、counter_offset原先硬编码10,改成和GPU一致,根据tensor计算 2、normal在A5且输入为double类型时,调用aclnnInplaceRandomWithoutFromTo;否则走原逻辑; # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 test_uniform_.py ![image.png](https://raw.gitcode.com/user-images/assets/7403085/add6316f-445a-4791-abd0-48fae56f43db/image.png 'image.png') test_normal.py ![image.png](https://raw.gitcode.com/user-images/assets/7403085/20524449-e67d-4b90-bab2-9e2887cd7bd3/image.png 'image.png') test_random.py ![2.jpg](https://raw.gitcode.com/user-images/assets/7403085/d7746f1a-8f4e-46e0-b688-b28532ecb584/2.jpg '2.jpg') demo对比A5和H20,指数分布和均匀分布下,生成的随机数分布严格一致 ![未命名图片.jpg](https://raw.gitcode.com/user-images/assets/7403085/22ae3786-c7a8-4230-8e82-16cc5dd73ddb/未命名图片.jpg '未命名图片.jpg') # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!50106 天前
fix(npu): 对齐searchsorted接口入参为side=right时的正确语义、补齐相关校验和告警信息 Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !4934 merge searchsorted into master fix(npu): 对齐searchsorted接口入参为side=right时的正确语义、补齐相关校验和告警信息 Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/1910 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 涉及用例: python test_reductions.py -v -k test_bucketization_npu 用例主要测试searchsorted接口不同入参和校验告警等情况,PR用于处理对齐side=right时的正确语义、补齐相关校验和告警信息。 - 此前 NPU 侧多直接透传 right,未按 PyTorch 语义处理 **side**(side 存在时应覆盖 right),易导致与 GPU 结果不一致(含边界与 NaN 场景)。 - 设备编排与 CANN / aclnn 侧报错信息与 **ATen searchsorted_pre_check** 不一致,不利于脚本与单测排障(例如 out dtype、sorter、device 等应先抛出 PyTorch 风格 RuntimeError)。 - 非连续输入缺少与 GPU 类似的 **TORCH_WARN_ONCE** 提示,行为不透明。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. **工具头文件(op_plugin/utils/)** - **SearchsortedSideUtil.h**:resolve_searchsorted_effective_right,在 **已完成** searchsorted_pre_check_npu 的前提下,将可选 side 解析为调用底层算子使用的有效 right(避免与校验逻辑重复)。 - **SearchsortedValidateUtil.h**:镜像 **BucketizationUtils.h** 中 **searchsorted_pre_check**,统一 dtype / shape / device / sorter / outout_int32 等约束及报错文案;提供 searchsorted_validate_tensor_out_opsearchsorted_validate_core_no_output(functional、尚无 out 参数时)、searchsorted_validate_scalar_op 等封装,便于 YAML 与内核复用。 - **SearchsortedWarnUtil.h**:searchsorted_tensor_is_row_major_contiguous 与 **warn_if_searchsorted_*_noncontiguous**,对齐 ATen 侧对非连续 boundary / values / sorter 的告警语义。 2. **ACL 内核(SearchsortedKernelNpu.cpp)** 在 **CheckOut / SearchSorted OpCommand** 之前插入 **validate → warn → right_eff**,保证 acl_op 路径与 op_api 策略一致。 3. **op_api 生成配置(op_plugin_functions.yaml)** 对 **searchsorted.Scalar**、**searchsorted.Tensor**、**searchsorted.Tensor_out** 的 **gen_opapi** 增加 **new_params.right_eff**:使用 C++ 逗号表达式 **(validate, warn, resolve)** 顺序执行,表达式值为最终 **bool** 传入 aclnn;**Tensor** 重载不再仅 **structured_inherit**,显式给出 **out size/dtype** 与带 **right_effexec**,以便在分配 **out** 前做与 functional 匹配的校验链。 4. **公共头(op_api_common_base.h)** 在文件末尾 **#include** 上述三个 Searchsorted 工具头,供生成的 op_api 翻译单元在展开 new_params 时可见 **op_plugin::** 符号(通过 **npu_cpp_extension.hop_api_common_base.h** 引入)。 5. **测试(test/test_base_ops/test_searchsorted.py)** 补充与 CPU 对比的 **side / right**、非法 sidesideright 冲突、sorter dtype/shape/越界、跨 device、out dtype 错误、前置维度不匹配、非连续告警等用例。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 自验结果 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/c19a7184-5e3c-4d41-9de9-678fad11f455/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!493419 天前
fix(npu): 对齐searchsorted接口入参为side=right时的正确语义、补齐相关校验和告警信息 Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !4934 merge searchsorted into master fix(npu): 对齐searchsorted接口入参为side=right时的正确语义、补齐相关校验和告警信息 Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/1910 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 涉及用例: python test_reductions.py -v -k test_bucketization_npu 用例主要测试searchsorted接口不同入参和校验告警等情况,PR用于处理对齐side=right时的正确语义、补齐相关校验和告警信息。 - 此前 NPU 侧多直接透传 right,未按 PyTorch 语义处理 **side**(side 存在时应覆盖 right),易导致与 GPU 结果不一致(含边界与 NaN 场景)。 - 设备编排与 CANN / aclnn 侧报错信息与 **ATen searchsorted_pre_check** 不一致,不利于脚本与单测排障(例如 out dtype、sorter、device 等应先抛出 PyTorch 风格 RuntimeError)。 - 非连续输入缺少与 GPU 类似的 **TORCH_WARN_ONCE** 提示,行为不透明。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. **工具头文件(op_plugin/utils/)** - **SearchsortedSideUtil.h**:resolve_searchsorted_effective_right,在 **已完成** searchsorted_pre_check_npu 的前提下,将可选 side 解析为调用底层算子使用的有效 right(避免与校验逻辑重复)。 - **SearchsortedValidateUtil.h**:镜像 **BucketizationUtils.h** 中 **searchsorted_pre_check**,统一 dtype / shape / device / sorter / outout_int32 等约束及报错文案;提供 searchsorted_validate_tensor_out_opsearchsorted_validate_core_no_output(functional、尚无 out 参数时)、searchsorted_validate_scalar_op 等封装,便于 YAML 与内核复用。 - **SearchsortedWarnUtil.h**:searchsorted_tensor_is_row_major_contiguous 与 **warn_if_searchsorted_*_noncontiguous**,对齐 ATen 侧对非连续 boundary / values / sorter 的告警语义。 2. **ACL 内核(SearchsortedKernelNpu.cpp)** 在 **CheckOut / SearchSorted OpCommand** 之前插入 **validate → warn → right_eff**,保证 acl_op 路径与 op_api 策略一致。 3. **op_api 生成配置(op_plugin_functions.yaml)** 对 **searchsorted.Scalar**、**searchsorted.Tensor**、**searchsorted.Tensor_out** 的 **gen_opapi** 增加 **new_params.right_eff**:使用 C++ 逗号表达式 **(validate, warn, resolve)** 顺序执行,表达式值为最终 **bool** 传入 aclnn;**Tensor** 重载不再仅 **structured_inherit**,显式给出 **out size/dtype** 与带 **right_effexec**,以便在分配 **out** 前做与 functional 匹配的校验链。 4. **公共头(op_api_common_base.h)** 在文件末尾 **#include** 上述三个 Searchsorted 工具头,供生成的 op_api 翻译单元在展开 new_params 时可见 **op_plugin::** 符号(通过 **npu_cpp_extension.hop_api_common_base.h** 引入)。 5. **测试(test/test_base_ops/test_searchsorted.py)** 补充与 CPU 对比的 **side / right**、非法 sidesideright 冲突、sorter dtype/shape/越界、跨 device、out dtype 错误、前置维度不匹配、非连续告警等用例。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 自验结果 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/c19a7184-5e3c-4d41-9de9-678fad11f455/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!493419 天前
fix(npu): 对齐searchsorted接口入参为side=right时的正确语义、补齐相关校验和告警信息 Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !4934 merge searchsorted into master fix(npu): 对齐searchsorted接口入参为side=right时的正确语义、补齐相关校验和告警信息 Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/1910 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 涉及用例: python test_reductions.py -v -k test_bucketization_npu 用例主要测试searchsorted接口不同入参和校验告警等情况,PR用于处理对齐side=right时的正确语义、补齐相关校验和告警信息。 - 此前 NPU 侧多直接透传 right,未按 PyTorch 语义处理 **side**(side 存在时应覆盖 right),易导致与 GPU 结果不一致(含边界与 NaN 场景)。 - 设备编排与 CANN / aclnn 侧报错信息与 **ATen searchsorted_pre_check** 不一致,不利于脚本与单测排障(例如 out dtype、sorter、device 等应先抛出 PyTorch 风格 RuntimeError)。 - 非连续输入缺少与 GPU 类似的 **TORCH_WARN_ONCE** 提示,行为不透明。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. **工具头文件(op_plugin/utils/)** - **SearchsortedSideUtil.h**:resolve_searchsorted_effective_right,在 **已完成** searchsorted_pre_check_npu 的前提下,将可选 side 解析为调用底层算子使用的有效 right(避免与校验逻辑重复)。 - **SearchsortedValidateUtil.h**:镜像 **BucketizationUtils.h** 中 **searchsorted_pre_check**,统一 dtype / shape / device / sorter / outout_int32 等约束及报错文案;提供 searchsorted_validate_tensor_out_opsearchsorted_validate_core_no_output(functional、尚无 out 参数时)、searchsorted_validate_scalar_op 等封装,便于 YAML 与内核复用。 - **SearchsortedWarnUtil.h**:searchsorted_tensor_is_row_major_contiguous 与 **warn_if_searchsorted_*_noncontiguous**,对齐 ATen 侧对非连续 boundary / values / sorter 的告警语义。 2. **ACL 内核(SearchsortedKernelNpu.cpp)** 在 **CheckOut / SearchSorted OpCommand** 之前插入 **validate → warn → right_eff**,保证 acl_op 路径与 op_api 策略一致。 3. **op_api 生成配置(op_plugin_functions.yaml)** 对 **searchsorted.Scalar**、**searchsorted.Tensor**、**searchsorted.Tensor_out** 的 **gen_opapi** 增加 **new_params.right_eff**:使用 C++ 逗号表达式 **(validate, warn, resolve)** 顺序执行,表达式值为最终 **bool** 传入 aclnn;**Tensor** 重载不再仅 **structured_inherit**,显式给出 **out size/dtype** 与带 **right_effexec**,以便在分配 **out** 前做与 functional 匹配的校验链。 4. **公共头(op_api_common_base.h)** 在文件末尾 **#include** 上述三个 Searchsorted 工具头,供生成的 op_api 翻译单元在展开 new_params 时可见 **op_plugin::** 符号(通过 **npu_cpp_extension.hop_api_common_base.h** 引入)。 5. **测试(test/test_base_ops/test_searchsorted.py)** 补充与 CPU 对比的 **side / right**、非法 sidesideright 冲突、sorter dtype/shape/越界、跨 device、out dtype 错误、前置维度不匹配、非连续告警等用例。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 自验结果 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/c19a7184-5e3c-4d41-9de9-678fad11f455/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!493419 天前
fix(npu): correction 非整数时对 std/var 走 CPU 回退 Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !4997 merge std into master fix(npu): correction 非整数时对 std/var 走 CPU 回退 Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/2069 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. **新增工具函数**: - 在 op_plugin/utils/StdVarCorrectionUtils.h 中新增 correction_fits_aclnn_int64 函数 - 该函数用于检查 correction 参数是否可以精确转换为 int64 类型 - 检查逻辑包括:无值情况、整数类型、非浮点数类型、浮点数范围和精度检查 2. **Std 函数修复**: - 在 op_plugin/ops/aclops/StdKernelNpu.cpp 中的 std_outstdstd_mean 函数中添加 CPU 回退逻辑 - 当 correction 不适合 aclnn 处理时,将计算回退到 CPU 执行,以保证精度 3. **Var 函数修复**: - 在 op_plugin/ops/aclops/VarKernelNpu.cpp 中的 var_outvarvar_mean 函数中添加相同的 CPU 回退逻辑 - 实现方式与 Std 函数类似,确保语义一致性 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/3eec8fc6-f3bf-44d6-9bbe-29ef44d38752/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/97447d71-2a3b-4bf7-a18b-230e94bd9787/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/dfb67e17-ceb5-41a9-ac90-749f330baa9e/image.png 'image.png') 1. **测试场景**: - 整数 correction 情况:确保 NPU 加速正常工作 - 非整数 correction 情况:确保结果与 CPU 版本一致 - 边界值测试:如 correction 为负数、零、大数等情况 - 不同数据类型和维度的张量测试 2. **测试方法**: - 运行现有的 test_std.pytest_var.py 测试用例 - 新增针对非整数 correction 的测试用例 - 对比 NPU 和 CPU 版本的计算结果 3. **UT测试**: - 已适配现有 UT 测试用例 - 测试用例覆盖各种 correction 类型和边界情况 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 \[ ] 为 \[x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!499711 天前
Checkout v2r13 Co-authored-by: Chansinging<1183520536@qq.com> Co-authored-by: chansinging<chenxingying2@huawei.com> # message auto-generated for no-merge-commit merge: !4923 merge main_sync_20260511 into master Checkout v2r13 Created-by: chansinging Commit-by: Chansinging;chansinging Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 参考社区演进和以往PR记录 - [ ] 需求 - [ ] 问题单 - [x] issue/工单[社区演进](https://gitcode.com/Ascend/op-plugin/issues/77) - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 参考社区演进和以往PR记录 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/f9dd5824-f779-4cf3-b3ae-7547de2625e8/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!492322 天前
fix stream in workspace for EXEC_EXT Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !4894 merge 2605ext into master fix stream in workspace for EXEC_EXT Created-by: daifu1234567 Commit-by: DaiFu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) EXEC_NPU_CMD_V1_EXT及EXEC_NPU_CMD_V2_EXT中内存(包含workspace)申请与释放修正,与EXEC_NPU_CMD_V1及EXEC_NPU_CMD_V2保持一致。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已模型验证,task_queue=1/2场景下精度正常 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/938dcffc-abdd-4d6c-95a5-077dd975e901/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/49b17968-1727-4cc1-9382-fc34a6cc54a9/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/3da8f9d0-bb08-445a-b407-d7e27e2ed3bc/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ef68170f-b0ef-40b1-8711-c30a5054b8ab/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!489426 天前
feat:opplugin的算子执行添加控核维测日志 Co-authored-by: ChengLyric<licheng236@huawei.com> # message auto-generated for no-merge-commit merge: !4954 merge feat_op_exec_log into master feat:opplugin的算子执行添加控核维测日志 Created-by: Guanam2020 Commit-by: ChengLyric Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单https://gitcode.com/Ascend/op-plugin/issues/66 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 修复OP_EXEC_LOG_WITH_TASK_QUEUE支持aclgraph场景,不再打印scaler tensor 2. 额外增加打印acl_stream、控核信息日志 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 自验证ok # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495415 天前
fix(npu): correction 非整数时对 std/var 走 CPU 回退 Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !4997 merge std into master fix(npu): correction 非整数时对 std/var 走 CPU 回退 Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/2069 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. **新增工具函数**: - 在 op_plugin/utils/StdVarCorrectionUtils.h 中新增 correction_fits_aclnn_int64 函数 - 该函数用于检查 correction 参数是否可以精确转换为 int64 类型 - 检查逻辑包括:无值情况、整数类型、非浮点数类型、浮点数范围和精度检查 2. **Std 函数修复**: - 在 op_plugin/ops/aclops/StdKernelNpu.cpp 中的 std_outstdstd_mean 函数中添加 CPU 回退逻辑 - 当 correction 不适合 aclnn 处理时,将计算回退到 CPU 执行,以保证精度 3. **Var 函数修复**: - 在 op_plugin/ops/aclops/VarKernelNpu.cpp 中的 var_outvarvar_mean 函数中添加相同的 CPU 回退逻辑 - 实现方式与 Std 函数类似,确保语义一致性 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/3eec8fc6-f3bf-44d6-9bbe-29ef44d38752/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/97447d71-2a3b-4bf7-a18b-230e94bd9787/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/dfb67e17-ceb5-41a9-ac90-749f330baa9e/image.png 'image.png') 1. **测试场景**: - 整数 correction 情况:确保 NPU 加速正常工作 - 非整数 correction 情况:确保结果与 CPU 版本一致 - 边界值测试:如 correction 为负数、零、大数等情况 - 不同数据类型和维度的张量测试 2. **测试方法**: - 运行现有的 test_std.pytest_var.py 测试用例 - 新增针对非整数 correction 的测试用例 - 对比 NPU 和 CPU 版本的计算结果 3. **UT测试**: - 已适配现有 UT 测试用例 - 测试用例覆盖各种 correction 类型和边界情况 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 \[ ] 为 \[x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!499711 天前
!2789 [DFX] Delete skip in op_log Merge pull request !2789 from 刘嘉巍/log 10 个月前
feat:opplugin的算子执行添加控核维测日志 Co-authored-by: ChengLyric<licheng236@huawei.com> # message auto-generated for no-merge-commit merge: !4954 merge feat_op_exec_log into master feat:opplugin的算子执行添加控核维测日志 Created-by: Guanam2020 Commit-by: ChengLyric Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单https://gitcode.com/Ascend/op-plugin/issues/66 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 修复OP_EXEC_LOG_WITH_TASK_QUEUE支持aclgraph场景,不再打印scaler tensor 2. 额外增加打印acl_stream、控核信息日志 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 自验证ok # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495415 天前
feat:opplugin的算子执行添加控核维测日志 Co-authored-by: ChengLyric<licheng236@huawei.com> # message auto-generated for no-merge-commit merge: !4954 merge feat_op_exec_log into master feat:opplugin的算子执行添加控核维测日志 Created-by: Guanam2020 Commit-by: ChengLyric Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单https://gitcode.com/Ascend/op-plugin/issues/66 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 修复OP_EXEC_LOG_WITH_TASK_QUEUE支持aclgraph场景,不再打印scaler tensor 2. 额外增加打印acl_stream、控核信息日志 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 自验证ok # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495415 天前
!2284 Clean code Merge pull request !2284 from wgb/clean_code 1 年前