Skip to content

Commit d54e207

Browse files
authored
update fleet_ops (#7859)
* update fleet_ops * use try_import in ep
1 parent b2fc2c6 commit d54e207

3 files changed

Lines changed: 31 additions & 31 deletions

File tree

fastdeploy/model_executor/layers/moe/ep.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,11 @@
2727
import fastdeploy
2828
from fastdeploy import envs
2929
from fastdeploy.config import MoEPhase
30+
from fastdeploy.model_executor.utils import try_import
3031
from fastdeploy.utils import singleton
3132

33+
paddlefleet_ops = try_import(["paddlefleet.ops"])
34+
3235

3336
def load_deep_ep() -> ModuleType:
3437
"""
@@ -43,7 +46,7 @@ def load_deep_ep() -> ModuleType:
4346
# Enable paddle.enable_compat before importing deep_ep (required by PFCC/PaddleFleet variants)
4447
paddle.enable_compat(scope={"deep_ep"})
4548
try:
46-
import paddlefleet.ops.deep_ep as deep_ep # type: ignore
49+
import paddlefleet_ops.deep_ep as deep_ep # type: ignore
4750

4851
logger.info("FD use PaddleFleet/DeepEP now.")
4952
return deep_ep

fastdeploy/model_executor/layers/quantization/fp8_utils.py

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,46 +14,19 @@
1414
# limitations under the License.
1515
"""
1616

17-
import importlib
18-
1917
import paddle
2018
import triton
2119
from paddleformers.utils.log import logger
2220

21+
from fastdeploy.model_executor.layers.utils import get_sm_version
2322
from fastdeploy.model_executor.ops.triton_ops import _per_token_group_quant_fp8
23+
from fastdeploy.model_executor.utils import try_import
2424
from fastdeploy.platforms import current_platform
2525

2626
if current_platform.is_cuda():
2727
from fastdeploy.model_executor.ops.gpu import per_token_group_fp8_quant
2828

2929

30-
from ..utils import get_sm_version
31-
32-
33-
def try_import(modules, name=None, fail_msg=None):
34-
"""
35-
try_import
36-
"""
37-
if not isinstance(modules, (list, tuple)):
38-
modules = [modules]
39-
40-
for m in modules:
41-
assert isinstance(m, str), m
42-
try:
43-
m = importlib.import_module(m)
44-
except ImportError:
45-
m = None
46-
47-
if m is not None:
48-
if name is None:
49-
return m
50-
elif hasattr(m, name):
51-
return getattr(m, name)
52-
53-
if fail_msg is not None:
54-
logger.warning(fail_msg)
55-
56-
5730
paddlefleet_ops = try_import(["paddlefleet.ops"])
5831

5932

@@ -72,7 +45,7 @@ def load_deep_gemm():
7245
try:
7346
import logging
7447

75-
import paddlefleet.ops.deep_gemm as deep_gemm
48+
import paddlefleet_ops.deep_gemm as deep_gemm
7649

7750
logging.getLogger().handlers.clear()
7851
logger.info("Detected sm100, use PaddleFleet DeepGEMM")

fastdeploy/model_executor/utils.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,30 @@ def fn(loaded_weight_name, is_moe):
555555
return fn
556556

557557

558+
def try_import(modules, name=None, fail_msg=None):
559+
"""
560+
try_import
561+
"""
562+
if not isinstance(modules, (list, tuple)):
563+
modules = [modules]
564+
565+
for m in modules:
566+
assert isinstance(m, str), m
567+
try:
568+
m = importlib.import_module(m)
569+
except ImportError:
570+
m = None
571+
572+
if m is not None:
573+
if name is None:
574+
return m
575+
elif hasattr(m, name):
576+
return getattr(m, name)
577+
578+
if fail_msg is not None:
579+
logger.warning(fail_msg)
580+
581+
558582
def has_flashinfer():
559583
return importlib.util.find_spec("flashinfer") is not None
560584

0 commit comments

Comments
 (0)