[P0] vLLM 0.15.1 Compatibility Experiments #730
(empty)
💬 Comments (2)
ML Node Migration to vLLM 0.15.1 — Results and Artifacts
Summary
The kaitaku.ai team together with Tamaz Gadaev completed the migration of ML Node from vLLM 0.9.1 to 0.15.1 for the Gonka network, including:
- Support for all NVIDIA architectures through a single image for A100, H100, H200, and B200
- Performance validation during the upgrade to the new version
- Extensive benchmarking of three models (Qwen 235B, GPT-OSS 120B, Kimi K2.5) across five GPU architectures
Benchmark Results
Deployment Parameters
| GPU | Model | TP | PP | Max Seq Len | VRAM | PoC Seq Len | Attn Backend | Tools |
|---|---|---|---|---|---|---|---|---|
| 4×H100 80GB | Qwen 235B | 4 | 1 | 240 000 | 78/80 GiB (96%) | 1024 | FLASHINFER | TRUE |
| 4×H100 80GB | GPT OSS | — | — | 32 768 | 73/80 GiB (90%) | 1024 | FLASHINFER | TRUE |
| 4×H100 80GB | Kimi K2.5 | — | — | — | — | 1024 | FLASHINFER | TRUE |
| 4×H200 140GB | Qwen 235B | 4 | 1 | 262 144 | 129/140 GiB (92%) | 1024 | FLASHINFER | TRUE |
| 4×H200 140GB | GPT OSS | — | — | 131 072 | 128/140 GiB (91%) | 1024 | FLASHINFER | TRUE |
| 4×H200 140GB | Kimi K2.5 | 8 | 1 | 262 144 | 130/140 GiB (92%) | 1024 | FLASHINFER | TRUE |
| 2×B200 180GB | Qwen 235B | 2 | 1 | 262 144 | 164/179 GiB (92%) | 1024 | FLASHINFER | TRUE |
| 2×B200 180GB | GPT OSS | — | — | 131 072 | 164/179 GiB (91%) | 1024 | FLASHINFER | TRUE |
| 4×B200 180GB | Kimi K2.5 | 4 | 1 | 262 144 | 135/179 GiB (74%) | 1024 | FLASHINFER_MLA | TRUE |
Qwen 235B — Configuration Comparison (Nonces/min per cluster)
| Configuration | A | B | C | D | E | F | Best/GPU |
|---|---|---|---|---|---|---|---|
| 4×A100 SXM4 | 384 | 448 | 484 | — | — | — | 121 |
| 4×H100 SXM | 640 | 832 | 1 056 | — | — | — | 264 |
| 4×H200 | — | — | 1 136 | 1 058 | 832 | 640 | 284 |
| 2×B200 (TP=2) | — | — | 1 633 | — | — | — | 816 |
Legend: A — TP=4
--enforce-eager· B — TP=4 compiled · C — TP=4 batched compiled · D — TP=4 batched--enforce-eager· E — TP=2;PP=2 batched--enforce-eager· F — PP=4 batched--enforce-eager
All Models — Batched + Compiled (Nonces/min, total across 8 GPUs)
| GPU | Qwen 235B | GPT-OSS 120B | Kimi K2.5 |
|---|---|---|---|
| 8×A100 SXM4 (b=2) | 968 | 5 712 | — |
| 8×H100 (b=8) | 2 112 | 24 568 | — |
| 8×H200 (b=8) | 2 272 | 24 568 | 1 189 |
| 8×B200 (b=8) | 6 908 | 53 216 | 1 989 |
| 8×AMD MI300X | 1 078 | 4 126 | — |
All Models — Batched + Not Compiled (Nonces/min, total across 8 GPUs)
| GPU | Qwen 235B | GPT-OSS 120B | Kimi K2.5 |
|---|---|---|---|
| 8×A100 SXM4 (b=16) | 1 024 | 6 144 (b=32) | — |
| 8×H100 | 1 920 | 21 496 | — |
| 8×H200 | 1 919 | 21 496 | 1 145 |
| 8×B200 (b=32) | 6 140 | 54248 | 1 948 |
| 8×AMD MI300X | 1 032 | 3 984 | — |
Key takeaway:
- The single image works across all four GPU architectures
Cross-GPU PoC Validation
L2 Distance Between GPUs (enforce-eager mode)
All GPU pairs show close distances, meaning PoC validation passes successfully across all architectures within the single image.
Cross-version/cross-GPU experiments (6 experiments)
| # | GPU Honest | Version | Model | GPU Fraud | Fraud Version | Fraud Model | GPU Validator | Validator Version | Validator Model | Artifacts | |---|------------|---------|-------|-----------|---------------|-------------|---------------|-------------------|-----------------|-----------| | 1 | A800 | v0.9.1 | Qwen FP8 | RTX 6000 | v0.15.1 | Qwen INT4 | RTX 6000 | v0.15.1 | Qwen FP8 | [artifacts](https://drive.google.com/drive/folders/1ZoNHlDW4zOjMDyMHtbkVychlIBwc_JOA?usp=sharing) | | 2 | A800 | v0.15.1 | Qwen FP8 | RTX 6000 | v0.15.1 | Qwen INT4 | RTX 6000 | v0.15.1 | Qwen FP8 | [artifacts](https://drive.google.com/drive/folders/1ZoNHlDW4zOjMDyMHtbkVychlIBwc_JOA?usp=sharing) | | 3 | A800 | v0.15.1 | Kimi INT4 | RTX 6000 | v0.15.1 | Kimi INT4 | RTX 6000 | v0.15.1 | Kimi INT4 | [artifacts](https://drive.google.com/drive/folders/1wGgZieGdKzBQHwOK8gYEpIYBwAR8BZ8z?usp=sharing) | | 4 | A800 | v0.15.1 | Kimi INT4 | RTX 6000 | v0.15.1 | Kimi INT2 | RTX 6000 | v0.15.1 | Kimi INT4 | [artifacts](https://drive.google.com/drive/folders/1wGgZieGdKzBQHwOK8gYEpIYBwAR8BZ8z?usp=sharing) | | 5 | A800 | v0.15.1 | GPT-OSS INT4 | RTX 6000 | v0.15.1 | GPT-OSS INT2 | RTX 6000 | v0.15.1 | GPT-OSS INT4 | [artifacts](https://drive.google.com/drive/folders/1GdoMrwkcMu5kMxVb848TIgDuL6-hHEd1?usp=sharing) | | 6 | A800 | v0.15.1 | GPT-OSS INT4 | RTX 6000 | v0.15.1 | GPT-OSS INT4 | RTX 6000 | v0.15.1 | GPT-OSS INT4 | [artifacts](https://drive.google.com/drive/folders/1GdoMrwkcMu5kMxVb848TIgDuL6-hHEd1?usp=sharing) |Per-GPU Experiments
Full experiment table (16 experiments)
| # | GPU | Version | Model | Nonces/min | 8×GPU | TP | PoC Vectors | Docker run | |--:|-----|---------|-------|-----------:|------:|---:|-------------|------------| | 1 | A800 NVLink | v0.9.1 | Qwen FP8 | 480 | 960 | 4 | [vectors](https://drive.google.com/file/d/1lMMZpa02lj0mHXYuoDkvzzeTz0clVEzo/view?usp=sharing) | [command](https://drive.google.com/file/d/1XZG6yL3IW-mlFxKDhWhfB6A4RrWe5Hag/view?usp=sharing) | | 2 | A800 NVLink | v0.15.1 | Qwen FP8 | 512 | 1 024 | 4 | [vectors](https://drive.google.com/file/d/1M-US9sxPa_f8DlBvxLxHEWgDOU-CdZQZ/view?usp=sharing) | [command](https://drive.google.com/file/d/1XZG6yL3IW-mlFxKDhWhfB6A4RrWe5Hag/view?usp=sharing) | | 3 | A800 NVLink | v0.9.1 | Qwen INT4 | 512 | 1 024 | 4 | [vectors](https://drive.google.com/file/d/1Wbwrwm2J4PsR8HhLafw53MfU125UCyY2/view?usp=sharing) | [command](https://drive.google.com/file/d/1XZG6yL3IW-mlFxKDhWhfB6A4RrWe5Hag/view?usp=sharing) | | 4 | A800 NVLink | v0.15.1 | Qwen INT4 | 512 | 1 024 | 4 | [vectors](https://drive.google.com/file/d/1x3RcVJJbYiGk6ayLuOCc4w93A9QGGFOo/view?usp=sharing) | [command](https://drive.google.com/file/d/1XZG6yL3IW-mlFxKDhWhfB6A4RrWe5Hag/view?usp=sharing) | | 5 | RTX 6000 | v0.9.1 | Qwen FP8 | 416 | 832 | 4 | [vectors](https://drive.google.com/file/d/17sYIXIFa8Ex9iMp14A9sgqWHmcUpBoyI/view?usp=sharing) | [command](https://drive.google.com/file/d/1XZG6yL3IW-mlFxKDhWhfB6A4RrWe5Hag/view?usp=sharing) | | 6 | RTX 6000 | v0.15.1 | Qwen FP8 | 451 | 902 | 4 | [vectors](https://drive.google.com/file/d/1k6VgdvdYuvQONi-YRpA5pJ2QFn6OUkjS/view?usp=sharing) | [command](https://drive.google.com/file/d/1XZG6yL3IW-mlFxKDhWhfB6A4RrWe5Hag/view?usp=sharing) | | 7 | RTX 6000 | v0.9.1 | Qwen INT4 | ? | — | 4 | [vectors](https://drive.google.com/file/d/12VXHKTYLzhvxhK0K71puJnLwe4zd64RX/view?usp=sharing) | [command](https://drive.google.com/file/d/1XZG6yL3IW-mlFxKDhWhfB6A4RrWe5Hag/view?usp=sharing) | | 8 | RTX 6000 | v0.15.1 | Qwen INT4 | 400 | 800 | 4 | [vectors](https://drive.google.com/file/d/1RLDuWzqvqkwoQaHXwu3nw9uES7mNXjpo/view?usp=sharing) | [command](https://drive.google.com/file/d/1XZG6yL3IW-mlFxKDhWhfB6A4RrWe5Hag/view?usp=sharing) | | 9 | A800 NVLink | v0.15.1 | Kimi K2.5 INT4 | 349 | 349 | 8 | [vectors](https://drive.google.com/file/d/155zGRY2HH6bptw8lc85bKOowN-bvbGZA/view?usp=sharing) | [command](https://drive.google.com/file/d/1Iyk1ae_z5d9hYgXxrGBzQdyVqOsDWTbz/view?usp=sharing) | | 10 | A800 NVLink | v0.15.1 | Kimi K2.5 INT2 | 417 | 417 | 8 | [vectors](https://drive.google.com/file/d/1U20bobTBSK3gyEIGS4HNp_6SOJDfARE6/view?usp=sharing) | [command](https://drive.google.com/file/d/1Iyk1ae_z5d9hYgXxrGBzQdyVqOsDWTbz/view?usp=sharing) | | 11 | RTX 6000 | v0.15.1 | Kimi K2.5 INT4 | 258 | 258 | 8 | [vectors](https://drive.google.com/file/d/1Dq1_5gVmv0a5kp7qkY9tR2tQrBHOVlct/view?usp=sharing) | [command](https://drive.google.com/file/d/1Iyk1ae_z5d9hYgXxrGBzQdyVqOsDWTbz/view?usp=sharing) | | 12 | RTX 6000 | v0.15.1 | Kimi K2.5 INT2 | 288 | 288 | 8 | [vectors](https://drive.google.com/file/d/1HeludcbAP0TCQXDnSGLAdaBH8BHl8TnK/view?usp=sharing) | [command](https://drive.google.com/file/d/1Iyk1ae_z5d9hYgXxrGBzQdyVqOsDWTbz/view?usp=sharing) | | 13 | A800 | v0.15.1 | GPT-OSS MXFP4 | 472 | 3 776 | 1 | [vectors](https://drive.google.com/file/d/1SSTz_m58aMcvyr07D75bvOVnwddlgjzd/view?usp=sharing) | [command](https://drive.google.com/file/d/1pw-7JKQ_DZUcaenoo0E04XXzfkAytM59/view?usp=sharing) | | 14 | A800 | v0.15.1 | GPT-OSS INT2 | 472 | 3 776 | 1 | [vectors](https://drive.google.com/file/d/1pq4pLHS2fPyf5IKD_e7uZF5oYMsYFkJq/view?usp=sharing) | [command](https://drive.google.com/file/d/1pw-7JKQ_DZUcaenoo0E04XXzfkAytM59/view?usp=sharing) | | 15 | RTX 6000 | v0.15.1 | GPT-OSS MXFP4 | 833 | 6 664 | 1 | [vectors](https://drive.google.com/file/d/1FQksG3gCqNhOGdjM9Q44zb_rlR8T4IT9/view?usp=sharing) | [command](https://drive.google.com/file/d/1pw-7JKQ_DZUcaenoo0E04XXzfkAytM59/view?usp=sharing) | | 16 | RTX 6000 | v0.15.1 | GPT-OSS INT2 | 833 | 6 664 | 1 | [vectors](https://drive.google.com/file/d/1uXFKZLUwG2Us82vluLCXTsbsytcJEz3i/view?usp=sharing) | [command](https://drive.google.com/file/d/1pw-7JKQ_DZUcaenoo0E04XXzfkAytM59/view?usp=sharing) |Artifacts
| Resource | Link |
|---|---|
| Main vLLM 0.15.1 + PoC test branch | mb/poc-v015-no-dummy-input-ids |
| Test Docker image | ghcr.io/kaitakuai/mlnode:v0.15.1-no-dummy-input-ids |
| All test images | GitHub Packages |
| Benchmark spreadsheet | Google Sheets |
Participants
| Participant | GitHub | Contribution |
|---|---|---|
| Pavlo | @clanster | GPU testing, benchmark and artifact collection, visualization |
| Mykola Baichak | @baychak | Image builds, benchmarks, batching fixes, and torch.compile fixes |
| Tamaz Gadaev | @tamazgadaev | PoC architecture, review, and fixes on the Gonka core team side |
🔄 Auto-synced from Issue #730 every hour.
PoC and inference (tentatively) seem compatible, in the next 2 days we'll try to deploy 2 nodes with 15 version and know for sute about the comaptibility