94057c3d3e
PR Test (NPU) / check-changes (push) Has been cancelled
PR Test (NPU) / pr-gate (push) Has been cancelled
PR Test (NPU) / set-image-config (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-4-npu-a3 (push) Has been cancelled
PR Test (NPU) / stage-b-test-16-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-1-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-2-npu-a3 (push) Has been cancelled
PR Test (Arm64) / pr-gate (push) Has been cancelled
PR Test (Arm64) / check-changes (push) Has been cancelled
PR Test (Arm64) / build-test (push) Has been cancelled
PR Test (sgl-router) / gate (push) Has been cancelled
PR Test (sgl-router) / tier-1 — lint (push) Has been cancelled
PR Test (sgl-router) / tier-2 — build + test (push) Has been cancelled
PR Test (sgl-router) / tier-3 — docker (placeholder) (push) Has been cancelled
PR Test (sgl-router) / tier-3 — k8s integration (push) Has been cancelled
PR Test (sgl-router) / tier-3 — e2e (push) Has been cancelled
PR Test (sgl-router) / finish (push) Has been cancelled
PR Test (NPU) / single-node-poc (map[name:qwen3_6_27b_w8a8_1p_in64k_out1k_50ms runner:linux-aarch64-a3-2 test_case:test/registered/ascend/performance/qwen3_6_27b/test_npu_qwen3_6_27b_w8a8_1p_in64k_out1k_50ms.py test_type:perf]) (push) Has been cancelled
PR Test (NPU) / pr-test-npu-finish (push) Has been cancelled
PR Test (Xeon) / pr-gate (push) Has been cancelled
PR Test (Xeon) / check-changes (push) Has been cancelled
PR Test (Xeon) / build-test (, xeon-gnr, base-b-test-cpu) (push) Has been cancelled
PR Test (XPU) / check-changes (push) Has been cancelled
PR Test (XPU) / pr-gate (push) Has been cancelled
PR Test (XPU) / stage-a-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / wait-for-stage-a (push) Has been cancelled
PR Test (XPU) / stage-b-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / finish (push) Has been cancelled
CI Model Inventory / build-inventory (push) Has been cancelled
Lint / lint (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Compilation Check (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Manual Policy (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark - Request Processing (push) Has been cancelled
PR Benchmark (SMG Components) / Benchmark Summary (push) Has been cancelled
PR Test (SMG) / build-wheel (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on windows (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (x86_64 - auto) (push) Has been cancelled
PR Test (SMG) / python-unit-tests (push) Has been cancelled
PR Test (SMG) / unit-tests (push) Has been cancelled
PR Test (SMG) / benchmarks (push) Has been cancelled
PR Test (SMG) / chat-completions (push) Has been cancelled
PR Test (SMG) / chat-completions-4gpu (push) Has been cancelled
PR Test (SMG) / e2e (push) Has been cancelled
PR Test (SMG) / docker-build-test (push) Has been cancelled
PR Test (SMG) / k8s-integration (push) Has been cancelled
PR Test (SMG) / finish (push) Has been cancelled
PR Test (SMG) / summarize-benchmarks (push) Has been cancelled
Release SGLang Model Gateway Docker Image / publish (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on macos (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - auto) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - musllinux_1_1) (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Build SDist (push) Has been cancelled
Release SGLang Model Gateway to PyPI / Upload to PyPI (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (aarch64, 12.9, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu129-matrix (x86_64, 12.9, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu129 (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (aarch64, 13.0, 3.10, arm-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / build-cu130-matrix (x86_64, 13.0, 3.10, x64-kernel-build-node) (push) Has been cancelled
Release SGLang Kernels / release-cu130 (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 700) (push) Has been cancelled
Release SGLang Kernels / build-rocm-matrix (3.10, 720) (push) Has been cancelled
Release SGLang Kernels / release-rocm700 (push) Has been cancelled
Release SGLang Kernels / release-rocm720 (push) Has been cancelled
Release SGLang Kernels / build-musa43 (43, 3.10) (push) Has been cancelled
Release SGLang Kernels / release-musa43 (push) Has been cancelled
94 lines
3.6 KiB
Makefile
94 lines
3.6 KiB
Makefile
.PHONY: help check-deps install-deps tree ln submodule install build clean rebuild test format update
|
|
|
|
# ---------------------------
|
|
# Build resource controls
|
|
# ---------------------------
|
|
# By default, build uses all available CPU cores, but users can override:
|
|
# make build MAX_JOBS=2 CMAKE_BUILD_PARALLEL_LEVEL=2 CMAKE_ARGS="-DSGL_KERNEL_COMPILE_THREADS=1"
|
|
NPROC ?= $(shell nproc 2>/dev/null || echo 1)
|
|
MAX_JOBS ?= $(NPROC)
|
|
CMAKE_BUILD_PARALLEL_LEVEL ?= $(MAX_JOBS)
|
|
UV_BUILD_DIR ?= build
|
|
CMAKE_POLICY_VERSION_MINIMUM ?= 3.5
|
|
|
|
# Optional GitHub mirror for FetchContent (e.g. internal artifactory).
|
|
# Empty -> CMakeLists.txt default (github.com).
|
|
GITHUB_ARTIFACTORY ?=
|
|
ifneq ($(strip $(GITHUB_ARTIFACTORY)),)
|
|
CMAKE_ARGS += -DGITHUB_ARTIFACTORY=$(GITHUB_ARTIFACTORY)
|
|
endif
|
|
|
|
# Show help for each target
|
|
help: ## Show this help message
|
|
@echo "Available targets:"
|
|
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
|
|
|
check-deps: ## Check and install required Python formatting dependencies
|
|
@command -v isort >/dev/null 2>&1 || (echo "Installing isort..." && pip install isort)
|
|
@command -v black >/dev/null 2>&1 || (echo "Installing black..." && pip install black)
|
|
|
|
install-deps: ## Install Python formatting tools (isort and black)
|
|
pip install scikit-build-core isort black
|
|
|
|
tree: ## Show project directory structure
|
|
@tree --prune -I "__pycache__|*.egg-info|*.so|build|3rdparty|dist"
|
|
|
|
submodule: ## Initialize and update git submodules
|
|
@git submodule update --init --recursive
|
|
|
|
ln: submodule ## Create compilation database
|
|
@rm -rf build && mkdir build && cd build && cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=YES -DCMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
|
|
install: submodule ## Install package in development mode
|
|
@pip install -e . --no-build-isolation
|
|
|
|
build: install-deps submodule ## Build and install wheel package
|
|
@rm -rf dist/* || true && \
|
|
CMAKE_POLICY_VERSION_MINIMUM=$(CMAKE_POLICY_VERSION_MINIMUM) \
|
|
MAX_JOBS=$(MAX_JOBS) \
|
|
CMAKE_BUILD_PARALLEL_LEVEL=$(CMAKE_BUILD_PARALLEL_LEVEL) \
|
|
CMAKE_ARGS="$(CMAKE_ARGS)" \
|
|
uv build --wheel -Cbuild-dir=$(UV_BUILD_DIR) . --verbose --color=always --no-build-isolation && \
|
|
pip3 install dist/*whl --force-reinstall --no-deps
|
|
|
|
clean: ## Remove build artifacts
|
|
@rm -rf build dist *.egg-info
|
|
|
|
rebuild: clean submodule build ## Clean and rebuild the project
|
|
@echo "Succeed to rebuild"
|
|
|
|
test: ## Run all tests
|
|
@find tests -name "test_*.py" | xargs -n 1 python3
|
|
|
|
format: check-deps ## Format all source files
|
|
@echo "Formatting source files..."
|
|
@find csrc tests -name '*.cc' -o -name '*.cu' -o -name '*.cuh' -o -name '*.h' -o -name '*.hpp' | xargs clang-format -i
|
|
@find python tests -name '*.py' | xargs isort
|
|
@find python tests -name '*.py' | xargs black
|
|
@pre-commit run --all-files
|
|
|
|
FILES_TO_UPDATE = python/sgl_kernel/version.py \
|
|
pyproject.toml \
|
|
pyproject_rocm.toml \
|
|
pyproject_cpu.toml
|
|
|
|
update: ## Update version numbers across project files. Usage: make update <new_version>
|
|
@if [ -z "$(filter-out $@,$(MAKECMDGOALS))" ]; then \
|
|
echo "Version required. Usage: make update <new_version>"; \
|
|
exit 1; \
|
|
fi
|
|
@OLD_VERSION=$$(grep "version" python/sgl_kernel/version.py | cut -d '"' -f2); \
|
|
NEW_VERSION=$(filter-out $@,$(MAKECMDGOALS)); \
|
|
echo "Updating version from $$OLD_VERSION to $$NEW_VERSION"; \
|
|
for file in $(FILES_TO_UPDATE); do \
|
|
if [ "$(shell uname)" = "Darwin" ]; then \
|
|
sed -i '' -e "s/$$OLD_VERSION/$$NEW_VERSION/g" $$file; \
|
|
else \
|
|
sed -i -e "s/$$OLD_VERSION/$$NEW_VERSION/g" $$file; \
|
|
fi \
|
|
done; \
|
|
echo "Version update complete"
|
|
|
|
%:
|
|
@:
|