Match FlashInfer TP8 workspace initialization

This commit is contained in:
2026-07-19 16:54:24 +08:00
parent 80ab724608
commit 4ca295af0b
2 changed files with 41 additions and 0 deletions

View File

@@ -43,3 +43,25 @@ MODEL = "/home/admin/cpfs/wjh/models/Qwen/Qwen3-235B-A22B-FP8"
OUTPUT_ROOT = "/home/admin/cpfs/wjh/aituner/gpu-fleet-fidelity-envelope-v1/artifacts/qwen235-serving-allreduce-tp8-20260719-v1" OUTPUT_ROOT = "/home/admin/cpfs/wjh/aituner/gpu-fleet-fidelity-envelope-v1/artifacts/qwen235-serving-allreduce-tp8-20260719-v1"
VENV_ROOT = "/tmp/wjh/venvs/vllm-0.20.0-cu129-profiler-v1" VENV_ROOT = "/tmp/wjh/venvs/vllm-0.20.0-cu129-profiler-v1"
VLLM_SOURCE = "/home/admin/cpfs/wjh/agentic-kv/third_party/vllm_v20_build" VLLM_SOURCE = "/home/admin/cpfs/wjh/agentic-kv/third_party/vllm_v20_build"
[[jobs]]
name = "qwen235-vllm020-serving-allreduce-tp8-20260719-v2"
gpus = 8
gpu_model = "H20"
hosts = ["dash0"]
command = "cd /home/admin/cpfs/wjh/aituner/aituner-q235-collective-20260719/runs/frontier-qwen30-vllm020-profile-v1 && timeout --signal=TERM --kill-after=30s 1020 bash run_allreduce_profile.sh"
artifacts = ["artifacts/qwen235-serving-allreduce-tp8-20260719-v2"]
[jobs.env]
XDG_CACHE_HOME = "/tmp/wjh/.cache"
VLLM_CACHE_ROOT = "/tmp/wjh/.cache/vllm"
TP = "8"
NUM_TOKENS = "1 2 4 8 16 24 32 40 48 56 63 64 65 72 80 88 96 104 112 120 128 136 144 152 160 168 176 184 192 200 208 216 224 232 240 248 255 256 257 512 1024 2048 4096 8192"
HIDDEN_DIM = "4096"
COLLECTIVE_CONTRACT = "qwen235-serving-projected"
TRIALS = "3"
REPEATS = "20"
MODEL = "/home/admin/cpfs/wjh/models/Qwen/Qwen3-235B-A22B-FP8"
OUTPUT_ROOT = "/home/admin/cpfs/wjh/aituner/gpu-fleet-fidelity-envelope-v1/artifacts/qwen235-serving-allreduce-tp8-20260719-v2"
VENV_ROOT = "/tmp/wjh/venvs/vllm-0.20.0-cu129-profiler-v1"
VLLM_SOURCE = "/home/admin/cpfs/wjh/agentic-kv/third_party/vllm_v20_build"

View File

@@ -147,9 +147,28 @@ def main() -> None:
f"no FlashInfer fusion limit for SM{capability}, TP{world_size}" f"no FlashInfer fusion limit for SM{capability}, TP{world_size}"
) from error ) from error
if input_tensor.nbytes <= fusion_limit_bytes: if input_tensor.nbytes <= fusion_limit_bytes:
from vllm.distributed.device_communicators.flashinfer_all_reduce import (
get_fi_ar_workspace,
)
fi_comm = communicator.fi_ar_comm fi_comm = communicator.fi_ar_comm
if fi_comm is None or fi_comm.disabled: if fi_comm is None or fi_comm.disabled:
raise SystemExit("FlashInfer all-reduce communicator is unavailable") raise SystemExit("FlashInfer all-reduce communicator is unavailable")
max_token_num = fusion_limit_bytes // (
args.hidden_dim * input_tensor.element_size()
)
workspace = get_fi_ar_workspace(
world_size=world_size,
rank=rank,
max_token_num=max_token_num,
hidden_dim=args.hidden_dim,
dtype=input_tensor.dtype,
group=get_tp_group().device_group,
)
if workspace is None:
raise SystemExit(
"FlashInfer rejected the serving-matched integer workspace"
)
if not fi_comm.should_use_fi_ar(input_tensor): if not fi_comm.should_use_fi_ar(input_tensor):
raise SystemExit("FlashInfer rejected a fusion-eligible payload") raise SystemExit("FlashInfer rejected a fusion-eligible payload")
return ( return (