main
py 21 lines 818 Bytes
Raw
1 # SPDX-License-Identifier: Apache-2.0
2 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4 from vllm.logger import init_logger
5 from vllm.platforms import current_platform
6 from vllm.utils.import_utils import resolve_obj_by_qualname
7
8 from .punica_base import PunicaWrapperBase
9
10 logger = init_logger(__name__)
11
12
13 def get_punica_wrapper(*args, **kwargs) -> PunicaWrapperBase:
14 punica_wrapper_qualname = current_platform.get_punica_wrapper()
15 punica_wrapper_cls = resolve_obj_by_qualname(punica_wrapper_qualname)
16 punica_wrapper = punica_wrapper_cls(*args, **kwargs)
17 assert punica_wrapper is not None, (
18 "the punica_wrapper_qualname(" + punica_wrapper_qualname + ") is wrong."
19 )
20 logger.info_once("Using %s.", punica_wrapper_qualname.rsplit(".", 1)[1])
21 return punica_wrapper