From 3121e35b0ed15ba5017bd611e8466995e0eaf91e Mon Sep 17 00:00:00 2001 From: Gahow Wang Date: Thu, 16 Jul 2026 21:57:44 +0800 Subject: [PATCH] Profile collective dispatch across tensor sizes --- .../jobs_allreduce_full_tp2.toml | 19 +++++++++++++++++++ .../jobs_allreduce_full_tp4.toml | 19 +++++++++++++++++++ .../profile_vllm020_allreduce.py | 9 ++++----- 3 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 runs/frontier-qwen30-vllm020-profile-v1/jobs_allreduce_full_tp2.toml create mode 100644 runs/frontier-qwen30-vllm020-profile-v1/jobs_allreduce_full_tp4.toml diff --git a/runs/frontier-qwen30-vllm020-profile-v1/jobs_allreduce_full_tp2.toml b/runs/frontier-qwen30-vllm020-profile-v1/jobs_allreduce_full_tp2.toml new file mode 100644 index 0000000..9debff3 --- /dev/null +++ b/runs/frontier-qwen30-vllm020-profile-v1/jobs_allreduce_full_tp2.toml @@ -0,0 +1,19 @@ +version = 1 + +[[jobs]] +name = "qwen30-vllm020-allreduce-full-tp2-20260716-v1-dispatch-aware" +gpus = 2 +gpu_model = "H20" +hosts = ["dash0"] +command = "cd /home/admin/cpfs/wjh/aituner/aituner-qwen30-vllm020-profile-v1/runs/frontier-qwen30-vllm020-profile-v1 && timeout --signal=TERM --kill-after=30s 1020 bash run_allreduce_profile.sh" +artifacts = ["artifacts/allreduce-full-tp2-v1"] + +[jobs.env] +HOME = "/tmp/wjh" +XDG_CACHE_HOME = "/tmp/wjh/.cache" +VLLM_CACHE_ROOT = "/tmp/wjh/.cache/vllm" +TP = "2" +NUM_TOKENS = "1 8 16 32 64 128 256 512 1024 2048 4096 8192" +OUTPUT_ROOT = "/home/admin/cpfs/wjh/aituner/aituner-qwen30-vllm020-profile-fleet/artifacts/allreduce-full-tp2-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" diff --git a/runs/frontier-qwen30-vllm020-profile-v1/jobs_allreduce_full_tp4.toml b/runs/frontier-qwen30-vllm020-profile-v1/jobs_allreduce_full_tp4.toml new file mode 100644 index 0000000..28194da --- /dev/null +++ b/runs/frontier-qwen30-vllm020-profile-v1/jobs_allreduce_full_tp4.toml @@ -0,0 +1,19 @@ +version = 1 + +[[jobs]] +name = "qwen30-vllm020-allreduce-full-tp4-20260716-v1-dispatch-aware" +gpus = 4 +gpu_model = "H20" +hosts = ["dash0"] +command = "cd /home/admin/cpfs/wjh/aituner/aituner-qwen30-vllm020-profile-v1/runs/frontier-qwen30-vllm020-profile-v1 && timeout --signal=TERM --kill-after=30s 1020 bash run_allreduce_profile.sh" +artifacts = ["artifacts/allreduce-full-tp4-v1"] + +[jobs.env] +HOME = "/tmp/wjh" +XDG_CACHE_HOME = "/tmp/wjh/.cache" +VLLM_CACHE_ROOT = "/tmp/wjh/.cache/vllm" +TP = "4" +NUM_TOKENS = "1 8 16 32 64 128 256 512 1024 2048 4096 8192" +OUTPUT_ROOT = "/home/admin/cpfs/wjh/aituner/aituner-qwen30-vllm020-profile-fleet/artifacts/allreduce-full-tp4-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" diff --git a/runs/frontier-qwen30-vllm020-profile-v1/profile_vllm020_allreduce.py b/runs/frontier-qwen30-vllm020-profile-v1/profile_vllm020_allreduce.py index 33fc9e8..c37ef26 100644 --- a/runs/frontier-qwen30-vllm020-profile-v1/profile_vllm020_allreduce.py +++ b/runs/frontier-qwen30-vllm020-profile-v1/profile_vllm020_allreduce.py @@ -113,10 +113,7 @@ def main() -> None: f"FlashInfer all-reduce was not selected at TP={world_size}, " f"tokens={num_tokens}" ) - if not fi_comm.should_use_fi_ar(input_tensor): - raise SystemExit( - f"FlashInfer rejected serving tensor shape {tuple(input_tensor.shape)}" - ) + uses_flashinfer = fi_comm.should_use_fi_ar(input_tensor) samples: list[float] = [] for _ in range(args.repeats): @@ -142,7 +139,9 @@ def main() -> None: * torch.tensor([], dtype=torch.bfloat16).element_size(), "dtype": "bfloat16", "communicator": "vllm.tensor_model_parallel_all_reduce", - "selected_backend": "flashinfer_trtllm", + "selected_backend": ( + "flashinfer_trtllm" if uses_flashinfer else "nccl_fallback" + ), "per_rank_time_ms": per_rank, "critical_path_median_ms": max( rank_stats["median"] for rank_stats in per_rank