Qwen 2.5-VL 7B (VLM) at FP16 needs 14.0 GB for its weights and 17.8 GB in total at 8K context with 8 concurrent users. That means it fits on a single Mac M2 Ultra (192GB unified). Every figure is computed by tokcalc's open-source capacity model.
| GPUs | Total VRAM | VRAM needed | Decode tok/s | Aggregate tok/s | TTFT | Cost / 1M tok | Fits? |
|---|---|---|---|---|---|---|---|
| 1× Mac | 192 GB | 17.8 GB | 37.14 | 445.7 | 8.55 s | — | ✓ |
| 2× Mac | 384 GB | 17.8 GB | 63.14 | 1515 | 4.29 s | — | ✓ |
| 4× Mac | 768 GB | 17.8 GB | 126.3 | 6062 | 2.16 s | — | ✓ |
| 8× Mac | 1536 GB | 17.8 GB | 252.6 | 24247 | 1.10 s | — | ✓ |
| Context | Concurrent users | KV per request | Fits? |
|---|---|---|---|
| 4K | 757 | 240.5 MB | ✓ fits |
| 8K | 378 | 481.0 MB | ✓ fits |
| 33K | 94 | 1.88 GB | ✓ fits |
| 66K | 47 | 3.76 GB | ✓ fits |
| 131K | 23 | 7.52 GB | ✓ fits |
| GPU | GPUs | Aggregate tok/s | Cost / 1M tok |
|---|---|---|---|
| RTX 3090 24GB | 1× | 521.5 | $0.1332 |
| RTX 5090 32GB | 1× | 998.4 | $0.1391 |
| RTX 4090 24GB | 1× | 561.6 | $0.1978 |
| AMD MI300X 192GB | 1× | 2953 | $0.2352 |
| V100 SXM2 32GB | 1× | 501.4 | $0.2770 |
| A100 40GB SXM4 | 1× | 863.6 | $0.2895 |
Yes. Qwen 2.5-VL 7B (VLM) at FP16 needs 17.8 GB including the KV cache, and Mac M2 Ultra (192GB unified) has 192 GB — so it fits on a single GPU.
37.14 tokens/sec per stream and 445.7 tok/s aggregate with continuous batching at 8 concurrent users. Time to first token is 8.55 s, and inter-token latency is 26.9 ms.
— per 1M output tokens at 1× Mac M2 Ultra (192GB unified). That is the marginal hardware cost — add idle capacity, ops, and egress for the real figure.
14.0 GB for the weights at FP16, plus 3.8 GB of KV cache for 8 concurrent requests at 8K context — 17.8 GB total. Every extra concurrent user at long context costs more, so leave headroom.
It works. Compare — per 1M tokens against the alternatives below — the cheapest option that fits the same workload is 2× RTX 3080 10GB at $0.0772, and the fastest is 1× Cerebras CS-3 (WSE-3) at 11143 tok/s.
Same formulas, your context length, concurrency, and quantisation.