Profile collective dispatch across tensor sizes

This commit is contained in:
2026-07-16 21:57:44 +08:00
parent 4bf9bdf28f
commit 3121e35b0e
3 changed files with 42 additions and 5 deletions

View File

@@ -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"

View File

@@ -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"

View File

@@ -113,10 +113,7 @@ def main() -> None:
f"FlashInfer all-reduce was not selected at TP={world_size}, " f"FlashInfer all-reduce was not selected at TP={world_size}, "
f"tokens={num_tokens}" f"tokens={num_tokens}"
) )
if not fi_comm.should_use_fi_ar(input_tensor): uses_flashinfer = fi_comm.should_use_fi_ar(input_tensor)
raise SystemExit(
f"FlashInfer rejected serving tensor shape {tuple(input_tensor.shape)}"
)
samples: list[float] = [] samples: list[float] = []
for _ in range(args.repeats): for _ in range(args.repeats):
@@ -142,7 +139,9 @@ def main() -> None:
* torch.tensor([], dtype=torch.bfloat16).element_size(), * torch.tensor([], dtype=torch.bfloat16).element_size(),
"dtype": "bfloat16", "dtype": "bfloat16",
"communicator": "vllm.tensor_model_parallel_all_reduce", "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, "per_rank_time_ms": per_rank,
"critical_path_median_ms": max( "critical_path_median_ms": max(
rank_stats["median"] for rank_stats in per_rank rank_stats["median"] for rank_stats in per_rank