Spaces:
Paused
Paused
|
Download docs/retro/compatibility-matrix.md from whassan/SensorflowStudio: direct link, hf CLI and curl.
- Browser
- Download file 4.63 kB
-
https://huggingface.co/spaces/whassan/SensorflowStudio/resolve/main/docs/retro/compatibility-matrix.md
- Command line
-
hf download hf://spaces/whassan/SensorflowStudio/docs/retro/compatibility-matrix.md
-
curl -L -o compatibility-matrix.md https://huggingface.co/spaces/whassan/SensorflowStudio/resolve/main/docs/retro/compatibility-matrix.md
4.63 kB
CUDA vs ROCm compatibility matrix for the retro inference layer
Scope: running the vLLM server (sensorflow/retro/inference/vllm_server/)
that backs the Retrospective Analyzer's vllm backend.
Honesty statement. This matrix was written on a macOS (Apple Silicon) machine where none of the GPU rows below can be executed or verified. It is compiled from general knowledge of the CUDA/ROCm/vLLM ecosystems as of the author's knowledge cutoff. vLLM moves fast: verify every row against the release notes of the vLLM version you actually install. Rows marked UNCERTAIN are flagged rather than guessed.
Platform support at a glance
| Platform | vLLM | Notes |
|---|---|---|
| Linux + NVIDIA (CUDA 12.x) | Supported | Primary, best-tested target |
| Linux + AMD (ROCm 6.x, MI200/MI300 class) | Supported | Official ROCm builds; narrower feature set |
| Linux + AMD consumer (RDNA) | UNCERTAIN | Community/experimental; verify per release |
| macOS (Apple Silicon or Intel) | NOT SUPPORTED | No CUDA, no ROCm; this dev machine. Use Ollama (Metal) locally |
| Windows native | NOT SUPPORTED | WSL2 + CUDA is the workaround |
| CPU-only Linux | Limited/experimental | A CPU backend exists but is not a serving-grade path; verify |
Package installation
| Aspect | CUDA (NVIDIA) | ROCm (AMD) |
|---|---|---|
| Install | pip install vllm (prebuilt wheels, CUDA 12.x) |
No universal PyPI wheel historically; use AMD's ROCm docker images or build from source with ROCm 6.x. Verify current release — ROCm wheels have been appearing |
| Driver floor | Driver >= 535-series for CUDA 12.x wheels (verify) | ROCm >= 6.0 for current vLLM; MI300 needs recent ROCm |
| Attention kernels | FlashAttention-2 / FlashInfer prebuilt | ROCm FlashAttention port (Composable Kernel / Triton based); fewer head-dim/feature combos supported |
PyTorch builds
| Aspect | CUDA | ROCm |
|---|---|---|
| Wheel source | pip install torch (cu12x wheels on PyPI) |
pip install torch --index-url https://download.pytorch.org/whl/rocm6.x |
| Detection | torch.version.cuda set, torch.cuda.is_available() |
torch.version.hip set; ROCm masquerades as torch.cuda (HIP) — torch.cuda.is_available() is True on ROCm builds |
| Pitfall | CPU-only wheel silently installed if index not pinned | Mixing a CUDA wheel onto a ROCm host fails at runtime, not install time |
Quantization support (verify against your vLLM release)
| Method | CUDA | ROCm |
|---|---|---|
| AWQ | Supported (Ampere+; kernels tuned for 4-bit) | UNCERTAIN/limited — AWQ kernels historically CUDA-only; do not assume |
| GPTQ | Supported (incl. Marlin kernels on newer GPUs) | Partial — basic GPTQ paths have worked via Triton; Marlin is CUDA-specific |
| FP8 (W8A8) | Supported on Hopper/Ada (H100, L40S); emulated/absent on older | Supported on MI300 (native FP8); not on older CDNA |
| INT8 (SmoothQuant-style) | Supported | UNCERTAIN — verify |
| bitsandbytes | Supported (load-time) | NOT SUPPORTED historically |
compat.py encodes a conservative subset of this table
(CUDA_QUANTIZATIONS / ROCM_QUANTIZATIONS) and says "verify against the
installed vLLM release" in its PASS messages.
Memory management
| Aspect | CUDA | ROCm |
|---|---|---|
| PagedAttention KV cache | Core feature, mature | Same architecture, HIP-compiled kernels |
GPU_MEMORY_UTILIZATION |
Fraction of VRAM pre-allocated (default 0.9) | Same flag; MI300's 192 GB HBM changes sizing math |
| Unified/managed memory | Not used by vLLM | Not used by vLLM |
| Multi-GPU (TENSOR_PARALLEL_SIZE) | NCCL | RCCL (NCCL API-compatible); verify topology support (xGMI vs NVLink) |
Kernel compatibility
| Aspect | CUDA | ROCm |
|---|---|---|
| Core kernels | CUDA C++/CUTLASS + Triton | HIPified C++ + Composable Kernel + Triton-on-ROCm |
| Triton | Mature | Works on ROCm but kernel autotuning/coverage lags; some fused ops fall back to slower paths |
| CUDA Graphs | Used for decode speedups | HIP graph support has lagged; verify (--enforce-eager is the fallback) |
| Custom all-reduce | CUDA-specific fast path | Typically disabled on ROCm; RCCL path used |
What this repo can and cannot claim
- CAN claim (verified here): vLLM is unsupported on this macOS machine —
env_detect.py+compat.pyprove it at runtime, and the test suite asserts it. - CANNOT claim: any vLLM latency/throughput number.
benchmark.pyproduces them only when pointed at a real CUDA/ROCm host; no such run happened here. - Local real-inference numbers, if any appear in reports, come from an Ollama server on Apple CPU/Metal and are labeled as such.