!173 add global npu fused options disable switch

Merge pull request !173 from 幽若/master-0408
This commit is contained in:
2025-04-14 06:35:33 +00:00
committed by i-robot
parent f3b670c786
commit 9d56254fdb
3 changed files with 11 additions and 0 deletions

1
OWNERS
View File

@ -35,3 +35,4 @@ reviewers:
- zhyebin
- A1waysBeenHere
- lanshaozuishuai
- frozenleaves

View File

@ -370,6 +370,9 @@ def _add_model_args(parser):
group.add_argument(
"--token", type=str, default=None, help="The modelers.cn token to download model from private repo."
)
group.add_argument(
"--disable_fused_options", type=str2bool, default=False, help="Set True to disable all fused options."
)
group.add_argument("--use_npu_fusion_attention", type=str2bool, default=True, help="Use npu fusion attention.")
group.add_argument("--use_fused_rms_norm", type=str2bool, default=True, help="Use npu fused RMSNorm.")
group.add_argument("--use_fused_rope", type=str2bool, default=True, help="Use npu fused RoPE.")

View File

@ -18,6 +18,7 @@ import transformers
from openmind import is_torch_available
from openmind.integrations.transformers.npu_fused_ops import kernel
from openmind.utils import is_torch_npu_available, logging, version
from openmind.flow.arguments import get_args
if is_torch_available():
import torch
@ -39,6 +40,12 @@ def check_use_fused_kernel() -> bool:
# torch npu is not available
if not is_torch_npu_available():
return False
# npu fused option switch is closed
args = get_args()
if args.disable_fused_options:
return False
# installed version of transformers is not compatible for npu fused options
try:
version.require_version("transformers<=4.47.1")