- 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"]