Skip to content

Commit 85deb99

Browse files
committed
install nightly fi and remove bf16 route
中文:安装固定版本的 FlashInfer nightly,启用 CuTeDSL split-K 补丁,并移除 BF16 路由 GEMM 补丁。
1 parent 27fbaea commit 85deb99

2 files changed

Lines changed: 28 additions & 54 deletions

File tree

benchmarks/single_node/fixed_seq_len/minimaxm3_fp4_b300.sh

Lines changed: 28 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -23,53 +23,38 @@ check_env_vars \
2323
RANDOM_RANGE_RATIO \
2424
RESULT_FILENAME
2525

26-
# # --- FlashInfer nightly + CuTeDSL split-K gemm patch -------------------------
27-
# # Pinned to nightly release nightly-v0.6.14-20260708. The wheels are not yet on
28-
# # the flashinfer.ai/whl/nightly flat index, so install by direct release URL.
29-
# FLASHINFER_VERSION=0.6.14.dev20260708
30-
# FLASHINFER_NIGHTLY_TAG=nightly-v0.6.14-20260708
31-
# FLASHINFER_RELEASE_URL="https://github.com/flashinfer-ai/flashinfer/releases/download/${FLASHINFER_NIGHTLY_TAG}"
32-
33-
# # The flashinfer-jit-cache wheel is CUDA-version-specific; derive cuXYZ from
34-
# # the torch build inside the container (e.g. 13.0 -> cu130).
35-
# CUDA_MAJOR_MINOR="cu$(python3 -c 'import torch; print(torch.version.cuda.replace(".", ""))')" \
36-
# || { echo "Failed to determine CUDA version from torch" >&2; exit 1; }
37-
38-
# python3 -m pip uninstall -y flashinfer-python flashinfer-cubin flashinfer-jit-cache
39-
40-
# python3 -m pip install --pre \
41-
# "${FLASHINFER_RELEASE_URL}/flashinfer_python-${FLASHINFER_VERSION}-py3-none-any.whl" \
42-
# "${FLASHINFER_RELEASE_URL}/flashinfer_cubin-${FLASHINFER_VERSION}-py3-none-any.whl" \
43-
# "${FLASHINFER_RELEASE_URL}/flashinfer_jit_cache-${FLASHINFER_VERSION}+${CUDA_MAJOR_MINOR}-cp39-abi3-manylinux_2_28_$(uname -m).whl" \
44-
# || { echo "FlashInfer nightly install failed" >&2; exit 1; }
45-
46-
# # Apply CuTeDSL split-K gemm patch (jiahanc/flashinfer branch cutedsl-splitK,
47-
# # flashinfer/gemm changes only) on top of the pinned nightly. The reinstall
48-
# # above guarantees pristine files, so the patch always applies cleanly.
49-
# FLASHINFER_PATCH="$(dirname "$0")/patches/flashinfer-cutedsl-splitk-gemm.patch"
50-
# if ! command -v patch >/dev/null 2>&1; then
51-
# apt-get update -y && apt-get install -y --no-install-recommends patch \
52-
# || { echo "Failed to install patch(1)" >&2; exit 1; }
53-
# fi
54-
# SITE_PACKAGES=$(dirname "$(python3 -c "import importlib.util; print(importlib.util.find_spec('flashinfer').submodule_search_locations[0])")") \
55-
# || { echo "Could not locate the installed flashinfer package" >&2; exit 1; }
56-
# patch -p1 -d "${SITE_PACKAGES}" < "$FLASHINFER_PATCH" \
57-
# || { echo "FlashInfer CuTeDSL split-K gemm patch failed" >&2; exit 1; }
58-
# # -----------------------------------------------------------------------------
59-
60-
# --- vLLM MiniMax-M3 GateLinear bf16 patch (vllm-project/vllm#47393) ----------
61-
VLLM_GATE_PATCH="$(dirname "$0")/patches/vllm-minimaxm3-gate-bf16.patch"
26+
# --- FlashInfer nightly + CuTeDSL split-K gemm patch -------------------------
27+
# Pinned to nightly release nightly-v0.6.14-20260708. The wheels are not yet on
28+
# the flashinfer.ai/whl/nightly flat index, so install by direct release URL.
29+
FLASHINFER_VERSION=0.6.14.dev20260708
30+
FLASHINFER_NIGHTLY_TAG=nightly-v0.6.14-20260708
31+
FLASHINFER_RELEASE_URL="https://github.com/flashinfer-ai/flashinfer/releases/download/${FLASHINFER_NIGHTLY_TAG}"
32+
33+
# The flashinfer-jit-cache wheel is CUDA-version-specific; derive cuXYZ from
34+
# the torch build inside the container (e.g. 13.0 -> cu130).
35+
CUDA_MAJOR_MINOR="cu$(python3 -c 'import torch; print(torch.version.cuda.replace(".", ""))')" \
36+
|| { echo "Failed to determine CUDA version from torch" >&2; exit 1; }
37+
38+
python3 -m pip uninstall -y flashinfer-python flashinfer-cubin flashinfer-jit-cache
39+
40+
python3 -m pip install --pre \
41+
"${FLASHINFER_RELEASE_URL}/flashinfer_python-${FLASHINFER_VERSION}-py3-none-any.whl" \
42+
"${FLASHINFER_RELEASE_URL}/flashinfer_cubin-${FLASHINFER_VERSION}-py3-none-any.whl" \
43+
"${FLASHINFER_RELEASE_URL}/flashinfer_jit_cache-${FLASHINFER_VERSION}+${CUDA_MAJOR_MINOR}-cp39-abi3-manylinux_2_28_$(uname -m).whl" \
44+
|| { echo "FlashInfer nightly install failed" >&2; exit 1; }
45+
46+
# Apply CuTeDSL split-K gemm patch (jiahanc/flashinfer branch cutedsl-splitK,
47+
# flashinfer/gemm changes only) on top of the pinned nightly. The reinstall
48+
# above guarantees pristine files, so the patch always applies cleanly.
49+
FLASHINFER_PATCH="$(dirname "$0")/patches/flashinfer-cutedsl-splitk-gemm.patch"
6250
if ! command -v patch >/dev/null 2>&1; then
6351
apt-get update -y && apt-get install -y --no-install-recommends patch \
6452
|| { echo "Failed to install patch(1)" >&2; exit 1; }
6553
fi
66-
VLLM_PACKAGE_DIR=$(python3 -c "import importlib.util; print(importlib.util.find_spec(\"vllm\").submodule_search_locations[0])") \
67-
|| { echo "Could not locate the installed vllm package" >&2; exit 1; }
68-
VLLM_SITE_PACKAGES=$(dirname "$VLLM_PACKAGE_DIR")
69-
patch --dry-run -p1 -d "$VLLM_SITE_PACKAGES" < "$VLLM_GATE_PATCH" >/dev/null \
70-
|| { echo "vLLM MiniMax-M3 GateLinear bf16 patch does not apply" >&2; exit 1; }
71-
patch -p1 -d "$VLLM_SITE_PACKAGES" < "$VLLM_GATE_PATCH" \
72-
|| { echo "vLLM MiniMax-M3 GateLinear bf16 patch failed" >&2; exit 1; }
54+
SITE_PACKAGES=$(dirname "$(python3 -c "import importlib.util; print(importlib.util.find_spec('flashinfer').submodule_search_locations[0])")") \
55+
|| { echo "Could not locate the installed flashinfer package" >&2; exit 1; }
56+
patch -p1 -d "${SITE_PACKAGES}" < "$FLASHINFER_PATCH" \
57+
|| { echo "FlashInfer CuTeDSL split-K gemm patch failed" >&2; exit 1; }
7358
# -----------------------------------------------------------------------------
7459

7560
if [[ -n "${MODEL_PATH:-}" ]]; then

benchmarks/single_node/fixed_seq_len/patches/vllm-minimaxm3-gate-bf16.patch

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)