0e280bd0创建于 2025年3月28日历史提交
- cann_version: 6.3.RC2
  torch_version: 1.11.0
  unique_id: 0
  operator_rules:
    aten:
      add:
        torch_npu.npu_confusion_transpose: [ "(permute)-(contiguous){0,1}-(reshape)",
                                             "(permute)-(contiguous){0,1}-(view)",
                                             "(transpose)-(contiguous){0,1}-(reshape)",
                                             "(transpose)-(contiguous){0,1}-(view)",
                                             "(reshape)-(contiguous){0,1}-(permute)",
                                             "(reshape)-(contiguous){0,1}-(transpose)",
                                             "(view)-(contiguous){0,1}-(permute)",
                                             "(view)-(contiguous){0,1}-(transpose)" ]
        torch_npu.fast_gelu: [ gelu ]
        torch_npu.npu_scaled_masked_softmax: [ "softmax-(mul){0,1}-(masked_fill_)",
                                               "softmax-(mul){0,1}-(add)"]
        optimizer.clip_grad_norm_fused_: [ add-reciprocal-mul ]
    Optimizer:
      add:
        torch_npu.optim.NpuFusedAdamW: [AdamW.step]
        torch_npu.optim.NpuFusedSGD: [SGD.step]
        torch_npu.optim.NpuFusedAdadelta: [Adadelta.step]
        torch_npu.optim.NpuFusedLamb: [Lamb.step]
        torch_npu.optim.NpuFusedAdamP: [AdamP.step]
        torch_npu.optim.NpuFusedBertAdam: [BertAdam.step]
        torch_npu.optim.NpuFusedRMSprop: [RMSprop.step]
        torch_npu.optim.NpuFusedRMSpropTF: [RMSpropTF.step]
        torch_npu.optim.NpuFusedAdam: [Adam.step]


- cann_version: 7.0.RC1
  torch_version: [1.11.0,2.1.0]
  unique_id: 1
  inherit_unique_id: 0
  operator_rules:
    aten:
      add:
        torch_npu.npu_fusion_attention: ["matmul-(add){0,1}-(mul){0,1}-(masked_fill_){0,1}-softmax-(dropout){0,1}-matmul",
                                         "matmul-(add){0,1}-(mul){0,1}-(add){0,1}-softmax-(dropout){0,1}-matmul",]
        torch_npu.npu_rotary_mul: ["(chunk)-neg-cat-(mul){0,2}-add",
                                   "(slice)-neg-cat-(mul){0,2}-add"]

- cann_version: 7.0.0
  torch_version: [1.11.0, 2.1.0]
  unique_id: 2
  inherit_unique_id: 1
  operator_rules:
    aten:
      add:
        torch_npu.npu_rms_norm: ["(pow){0,1}-(mean){0,1}-(add){0,1}-rsqrt-mul-(type_as){0,1}"]
        torch_npu.npu_swiglu: [ "(slice)-silu-mul", "(chunk)-silu-mul",
                                "(slice)-mul-silu", "(chunk)-mul-silu",
                                "(slice)-sigmoid-mul-mul", "(chunk)-sigmoid-mul-mul",
                                "(slice)-mul-sigmoid-mul", "(chunk)-mul-sigmoid-mul",
                                "(slice)-mul-mul-sigmoid", "(chunk)-mul-mul-sigmoid" ]

- cann_version: 8.0.RC1
  torch_version: [1.11.0, 2.1.0]
  unique_id: 3
  inherit_unique_id: 2
  operator_rules:
    aten:
      add:
        torch_npu.npu_geglu: [ "(slice)-gelu-mul", "(chunk)-gelu-mul",
                               "(slice)-mul-gelu", "(chunk)-mul-gelu"]
        torch_npu.npu_group_norm_silu: [ "group_norm-silu" ]
        torch.addmm: [ "mul-mul-add" ]
        torch_npu.npu_add_layer_norm: [ "add-layer_norm" ]

- cann_version: 8.0.0
  torch_version: [1.11.0, 2.1.0]
  unique_id: 3
  inherit_unique_id: 2
  operator_rules:
    aten:
      add:
        torch_npu.npu_geglu: [ "(slice)-gelu-mul", "(chunk)-gelu-mul",
                               "(slice)-mul-gelu", "(chunk)-mul-gelu"]
        torch_npu.npu_group_norm_silu: [ "group_norm-silu" ]
        torch.addmm: [ "mul-mul-add" ]
        torch_npu.npu_add_layer_norm: [ "add-layer_norm" ]

- cann_version: 8.0.RC3
  torch_version: [1.11.0, 2.1.0]
  unique_id: 4
  inherit_unique_id: 3
  operator_rules:
    aten:
      add:
        mindspeed.ops.npu_matmul_add: [ "matmul-add" ]

- cann_version: 8.0.RC3
  torch_version: [1.11.0, 2.1.0]
  unique_id: 5
  inherit_unique_id: 4
  operator_rules:
    aten:
      add:
        mindspeed.ops.npu_moe_token_permute: ["argsort-argsort-index_select"]
        mindspeed.ops.npu_moe_token_unpermute: ["index_select-mul-reduce_sum"]