Common issues and verified solutions for vLLM on AMD Instinct GPUs.
In Docker, ensure these flags are present:
For persistent fix:
Reduce memory requirements:
Symptom: Server crashes during startup or inference with no clear error message.
Cause: AITER_ENABLE_VSKIP defaults to true when unset, which causes crashes on MI300X/MI325X with DeepSeek models.
Fix:
MLA (Multi-head Latent Attention) architecture requires block size of 1:
Reported with certain DP/TP configurations. Workaround:
Some AITER versions have MoE regressions:
FP8 BMM kernel pre-compilation takes ~3 minutes on first run. Subsequent starts use cached kernels.
If unacceptable:
Kimi-K2.5 requires the nightly vLLM build, not the stable release:
Kimi-K2.5 uses native INT4 Quantization-Aware Training (QAT), stored as compressed-tensors. Do not use --quantization fp8:
Kimi-K2.5 has 64 attention heads. With TP=8: 64 / 8 = 8 heads per GPU (unsupported by AITER MLA).
Solution: Disable AITER and use TP=4:
This means Kimi-K2.5 uses only 4 of 8 GPUs. Throughput is not directly comparable to TP=8 models.
Initial reports suggested Kimi-K2.5 uses MXFP4 format requiring MI350+ hardware. This is incorrect.
Kimi-K2.5 uses INT4 Quantization-Aware Training (QAT) - the model was trained from scratch at INT4 precision, not post-training quantized. This is fully compatible with MI325X.
Verified working configuration:
Key flags:
VLLM_ROCM_USE_AITER=0 - Disables AITER (avoids MLA head count issues)--tensor-parallel-size 4 - Required due to AITER constraints--block-size 1 - Required for MLA backend on ROCm--mm-encoder-tp-mode data - Vision encoder parallelism--quantization flag - Uses model's native INT4 compressed-tensorsDeepSeek V3.2 uses MLA (Multi-head Latent Attention) which is incompatible with vLLM's KV cache offloading. The MLA architecture uses an indexer-based KV cache that the OffloadingConnector cannot handle.
Solution: Use the large HBM capacity instead (256GB per MI325X is sufficient).
Do not use --kv-cache-dtype fp8 with DeepSeek models. vLLM automatically uses the correct fp8_ds_mla format.
Add the tokenizer mode flag:
DeepSeek V3.2 works best with the completions API (no chat template):
For chat format, ensure proper tokenizer configuration with --tokenizer-mode deepseek_v32.
This occurs with large models (Llama-405B, Qwen3-VL-235B) when AITER GEMM kernels encounter incompatible configurations.
Fix: Add KV offloading flags, even if you don't need the extra memory:
Ensure security options are set:
Shared memory is required for multi-GPU communication:
Despite high throughput (e.g., 47K tok/s), GPU compute utilization may show only 5-10% on dashboards. This is expected behavior:
How to verify actual saturation:
"cannot store X blocks"If throughput is significantly lower than benchmarks:
VLLM_ROCM_USE_AITER=1--kv-offloading-size for GQA models--ipc=host for shared memory
0 Comments
Be the first to comment and share your perspective with the community.