Files
sglang/python/sglang/jit_kernel/__main__.py
2025-12-23 22:34:59 +08:00

49 lines
1.3 KiB
Python

assert __name__ == "__main__"
def generate_clangd():
import logging
import os
import subprocess
from tvm_ffi.libinfo import find_dlpack_include_path, find_include_path
from sglang.jit_kernel.utils import DEFAULT_INCLUDE
logger = logging.getLogger()
logger.info("Generating .clangd file...")
include_paths = [find_include_path(), find_dlpack_include_path()] + DEFAULT_INCLUDE
status = subprocess.run(
args=["nvidia-smi", "--query-gpu=compute_cap", "--format=csv,noheader"],
capture_output=True,
check=True,
)
compute_cap = status.stdout.decode("utf-8").strip().split("\n")[0]
major, minor = compute_cap.split(".")
compile_flags = ",\n ".join(
[
"-xcuda",
f"--cuda-gpu-arch=sm_{major}{minor}",
"-std=c++20",
"-Wall",
"-Wextra",
]
+ [f"-isystem{path}" for path in include_paths]
)
clangd_content = f"""
CompileFlags:
Add: [
{compile_flags}
]
"""
if os.path.exists(".clangd"):
logger.warning(".clangd file already exists, nothing done.")
logger.warning(f"suggested content: {clangd_content}")
else:
with open(".clangd", "w") as f:
f.write(clangd_content)
logger.info(".clangd file generated.")
generate_clangd()