Files
wehub-resource-sync 770d92cb1f
Lint / lint (push) Waiting to run
Windows CI / Windows (push) Waiting to run
Build Docs / Deploy Docs (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:23:58 +08:00

46 lines
1.1 KiB
Python

"""Load MLC LLM library and _ffi_api functions."""
import ctypes
import os
import sys
import tvm
import tvm.base
from . import libinfo
SKIP_LOADING_MLCLLM_SO = os.environ.get("SKIP_LOADING_MLCLLM_SO", "0")
def _load_mlc_llm_lib():
"""Load MLC LLM lib"""
if sys.platform.startswith("win32") and sys.version_info >= (3, 8):
for path in libinfo.get_dll_directories():
os.add_dll_directory(path)
lib_name = "mlc_llm" if tvm.base._RUNTIME_ONLY else "mlc_llm_module"
lib_path = libinfo.find_lib_path(lib_name, optional=False)
return ctypes.CDLL(lib_path[0]), lib_path[0]
@tvm.register_global_func("mlc.debug_cuda_profiler_start")
def _debug_cuda_profiler_start() -> None:
"""Start cuda profiler."""
import cuda
import cuda.cudart
cuda.cudart.cudaProfilerStart()
@tvm.register_global_func("mlc.debug_cuda_profiler_stop")
def _debug_cuda_profiler_stop() -> None:
"""Stop cuda profiler."""
import cuda
import cuda.cudart
cuda.cudart.cudaProfilerStop()
# only load once here
if SKIP_LOADING_MLCLLM_SO == "0":
_LIB, _LIB_PATH = _load_mlc_llm_lib()