Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

vLLM TPU vLLM TPU

| Documentation | Blog | User Forum | Developer Slack (#sig-tpu) |


🤝 Contribute to the Project
Looking to help? Click a badge below to find issues that need your attention.

bug good first issue enhancement contribution-welcome auto-generated View All Issues

Latest News

Previous News 🔥

About

vLLM TPU is now powered by tpu-inference, an expressive and powerful new hardware plugin unifying JAX and PyTorch under a single lowering path within the vLLM project. The new backend now provides a framework for developers to:

  • Push the limits of TPU hardware performance in open source.
  • Provide more flexibility to JAX and PyTorch users by running PyTorch model definitions performantly on TPU without any additional code changes, while also extending native support to JAX.
  • Retain vLLM standardization: keep the same user experience, telemetry, and interface.

Although vLLM TPU’s new unified backend makes out-of-the-box high performance serving possible with any model supported in vLLM, the reality is that we're still in the process of implementing a few core components.

For this reason, we’ve provided a Recommended Models and Features page detailing the models and features that are validated through unit, integration, and performance testing.


Get started

Get started with vLLM on TPUs by following the quickstart guide.

Visit our documentation to learn more.

Compatible TPU Generations

  • Recommended: v7x, v5e, v6e
  • Experimental: v3, v4, v5p

Recipes


TPU Support Matrix Dashboard

Below is the live status of our supported models, features, and kernels. Click on any category to expand the detailed support table. It is automatically updated from our detailed Support Matrices.

Last Updated: 2026-06-23 08:33 AM UTC

🚦 Status Legend
  • ✅ Passing: Tested and works as expected. Ready for use.
  • ❌ Failing: Known to be broken or not functional. Help is wanted to fix this!
  • 🧪 Experimental: Works, but unoptimized or pending community validation.
  • 📝 Planned: Not yet implemented, but on the official roadmap.
  • ⛔️ Unplanned: There is no benefit to adding this.
  • ❓ Untested: The functionality exists but has not been recently or thoroughly verified.
📐 View Matrix Aggregation Rules (v6e/v7x & C+P)
  • 🛠️ Correctness + Performance (C + P)

    • ❌ Failing: If either check fails.
    • ✅ Passing: If BOTH checks pass successfully.
    • ❓ Untested: If any check is untested (and neither fails).
  • 🌐 Hardware Rollups (v6e + v7x)

    • ❌ Failing: If the feature fails on either v6e or v7x.
    • ✅ Passing: If the feature passes on BOTH v6e and v7x.
    • ❓ Untested: If either generation is untested (and neither fails).

Release Support Matrices

Click to expand support matrices

Stable support status for official releases and production deployments.

✅ Tested Models
Model Type Unit Test Correctness Test Performance Test
google/gemma-3-27b-it Text ✅ ✅ ✅
meta-llama/Llama-3.1-8B-Instruct Text ✅ ✅ ✅
meta-llama/Llama-3.3-70B-Instruct Text ✅ ✅ ✅
Qwen/Qwen3-30B-A3B Text ✅ ✅ ✅
Qwen/Qwen3-32B Text ✅ ✅ ✅
Qwen/Qwen3-4B Text ✅ ✅ ✅
Qwen/Qwen3-Coder-480B-A35B-Instruct Text ✅ ✅ ✅
Qwen/Qwen3.5-397B-A17B Text ✅ ✅ ✅
google/gemma-4-26B-A4B-it Multimodal ✅ ✅ ❌
google/gemma-4-31B-it Multimodal ✅ ✅ ❌
Qwen/Qwen2.5-VL-7B-Instruct Multimodal ✅ ✅ ❌
Qwen/Qwen3-Embedding-8B Embedding ✅ ✅ ❓
deepseek-ai/DeepSeek-R1 Text ✅ ✅ ❓
moonshotai/Kimi-K2.6 Text ✅ ✅ ❓
openai/gpt-oss-120b Text ✅ ✅ ❓
google/gemma-4-E2B-it Multimodal ✅ ❌ ❓
google/gemma-4-E4B-it Multimodal ✅ ❌ ❓
deepseek-ai/DeepSeek-OCR Multimodal ❓ ❓ ❓
Qwen/Qwen3-Omni-30B-A3B-Instruct Multimodal ❓ ❓ ❓
Qwen/Qwen3-VL-8B-Instruct Multimodal ❓ ❓ ❓
Qwen/Qwen3.5-9B Multimodal ❓ ❓ ❓
deepseek-ai/DeepSeek-Math-V2 Text ❓ ❓ ❓
deepseek-ai/DeepSeek-V3.1 Text ❓ ❓ ❓
deepseek-ai/DeepSeek-V3.2 Text ❓ ❓ ❓
deepseek-ai/DeepSeek-V3.2-Speciale Text ❓ ❓ ❓
MiniMaxAI/MiniMax-M2.5 Text ❓ ❓ ❓
moonshotai/Kimi-K2-Thinking Text ❓ ❓ ❓
openai/gpt-oss-20b Text ❓ ❓ ❓
zai-org/GLM-5 Text ❓ ❓ ❓
🚀  Advanced Capabilities
Core Features
Feature Flax Torchax Default
async scheduler ✅ ✅ ✅
Chunked Prefill ✅ ✅ ✅
DCN-based P/D disaggregation ✅ ✅ ✅
KV Cache Offload ✅ ✅ ✅
LoRA_Torch ✅ ✅ ✅
Out-of-tree model support ✅ ✅ ✅
Prefix Caching ✅ ✅ ✅
Single Program Multi Data ✅ ✅ ✅
Speculative Decoding: Eagle3 ✅ ✅ ✅
Speculative Decoding: Ngram ✅ ✅ ✅
Multimodal Inputs ✅ ❌ ✅
hybrid kv cache ❓ ❓ ❓
multi-host ❓ ❓ ❓
runai_model_streamer_loader ❓ ❓ ❓
sampling_params ❓ ❓ ❓
Step Pooling (Embedding) ❓ ❓ ❓
structured_decoding ❓ ❓ ❓
Parallelism Techniques
Feature Flax Torchax
Single-host Multi-host Single-host Multi-host
PP ✅ ✅ ✅ ✅
DP ✅ ❓ ✅ ❓
EP ✅ ❓ ✅ ❓
TP ✅ ❓ ✅ ❓
CP ❓ ❓ ❓ ❓
SP (vote to prioritize) ❓ ❓ ❓ ❓
Quantization Methods
Checkpoint dtype Method Supported
Hardware Acceleration
Flax Torchax
FP4 W4A16 mxfp4 v7 ❓ ❓
FP8 W8A16 compressed-tensor v7 ❓ ❓
FP8 W8A8 compressed-tensor v7 ❓ ❓
INT4 W4A16 awq v5, v6 ❓ ❓
INT8 W8A8 compressed-tensor v5, v6 ❓ ❓
NVFP4 W4A16 modelopt_fp4 v7 ❓ ❓

Note:

  • This table only tests checkpoint loading compatibility.
🔬 Microbenchmark Kernel Support
Category Test W16A16 W8A8 W8A16 W4A4 W4A8 W4A16
Moe Fused MoE ❓ ❓ ❓ ❓ ❓ ❓
gmm ❓ ❓ ❓ ❓ ❓ ❓
Dense All‑gather matmul ❓ ❓ ❓ ❓ ❓ ❓
Attention Generic Ragged Paged
Attention V3*
❓ ❓ ❓ ❓ ❓ ❓
MLA ❓ ❓ ❓ ❓ ❓ ❓
Ragged Paged
Attention V3 Head_Dim
64*
❓ ❓ ❓ ❓ ❓ ❓

Note:

  • For attention kernels, W[x]A[y] denotes KV cache as W, A as compute, and x, y as bit precision.

Nightly Support Matrices

Click to expand support matrices

Support status for the latest nightly/main branch developments.

✅ Tested Models
Model Type Unit Test Correctness Test Performance Test
google/gemma-3-27b-it Text ✅ ✅ ✅
meta-llama/Llama-3.1-8B-Instruct Text ✅ ✅ ✅
meta-llama/Llama-3.3-70B-Instruct Text ✅ ✅ ✅
Qwen/Qwen3-30B-A3B Text ✅ ✅ ✅
Qwen/Qwen3-32B Text ✅ ✅ ✅
Qwen/Qwen3-4B Text ✅ ✅ ✅
Qwen/Qwen3-Coder-480B-A35B-Instruct Text ✅ ✅ ✅
Qwen/Qwen3.5-397B-A17B Text ✅ ✅ ✅
google/gemma-4-26B-A4B-it Multimodal ✅ ✅ ❌
google/gemma-4-31B-it Multimodal ✅ ✅ ❌
Qwen/Qwen2.5-VL-7B-Instruct Multimodal ✅ ✅ ❌
Qwen/Qwen3-Embedding-8B Embedding ✅ ✅ ❓
deepseek-ai/DeepSeek-R1 Text ✅ ✅ ❓
moonshotai/Kimi-K2.6 Text ✅ ✅ ❓
openai/gpt-oss-120b Text ✅ ✅ ❓
google/gemma-4-E2B-it Multimodal ✅ ❌ ❓
google/gemma-4-E4B-it Multimodal ✅ ❌ ❓
deepseek-ai/DeepSeek-OCR Multimodal ❓ ❓ ❓
Qwen/Qwen3-Omni-30B-A3B-Instruct Multimodal ❓ ❓ ❓
Qwen/Qwen3-VL-8B-Instruct Multimodal ❓ ❓ ❓
Qwen/Qwen3.5-9B Multimodal ❓ ❓ ❓
deepseek-ai/DeepSeek-Math-V2 Text ❓ ❓ ❓
deepseek-ai/DeepSeek-V3.1 Text ❓ ❓ ❓
deepseek-ai/DeepSeek-V3.2 Text ❓ ❓ ❓
deepseek-ai/DeepSeek-V3.2-Speciale Text ❓ ❓ ❓
MiniMaxAI/MiniMax-M2.5 Text ❓ ❓ ❓
moonshotai/Kimi-K2-Thinking Text ❓ ❓ ❓
openai/gpt-oss-20b Text ❓ ❓ ❓
zai-org/GLM-5 Text ❓ ❓ ❓
🚀  Advanced Capabilities
Core Features
Feature Flax Torchax Default
async scheduler ✅ ✅ ✅
Chunked Prefill ✅ ✅ ✅
DCN-based P/D disaggregation ✅ ✅ ✅
KV Cache Offload ✅ ✅ ✅
Out-of-tree model support ✅ ✅ ✅
Prefix Caching ✅ ✅ ✅
Single Program Multi Data ✅ ✅ ✅
Speculative Decoding: Eagle3 ✅ ✅ ✅
Speculative Decoding: Ngram ✅ ✅ ✅
Multimodal Inputs ✅ ❌ ✅
LoRA_Torch ❌ ✅ ✅
multi-host ❌ ❓ ❓
runai_model_streamer_loader ❌ ❓ ❓
hybrid kv cache ❓ ❓ ❓
sampling_params ❓ ❓ ❓
Step Pooling (Embedding) ❓ ❓ ❓
structured_decoding ❓ ❓ ❓
Parallelism Techniques
Feature Flax Torchax
Single-host Multi-host Single-host Multi-host
PP ✅ ✅ ✅ ✅
DP ✅ ❓ ✅ ❓
EP ✅ ❓ ✅ ❓
TP ✅ ❓ ✅ ❓
CP ❓ ❓ ❓ ❓
SP (vote to prioritize) ❓ ❓ ❓ ❓
Quantization Methods
Checkpoint dtype Method Supported
Hardware Acceleration
Flax Torchax
FP4 W4A16 mxfp4 v7 ❓ ❓
FP8 W8A16 compressed-tensor v7 ❓ ❓
FP8 W8A8 compressed-tensor v7 ❓ ❓
INT4 W4A16 awq v5, v6 ❓ ❓
INT8 W8A8 compressed-tensor v5, v6 ❓ ❓
NVFP4 W4A16 modelopt_fp4 v7 ❓ ❓

Note:

  • This table only tests checkpoint loading compatibility.
🔬 Microbenchmark Kernel Support
Category Test W16A16 W8A8 W8A16 W4A4 W4A8 W4A16
Moe Fused MoE ❓ ❓ ❓ ❓ ❓ ❓
gmm ❓ ❓ ❓ ❓ ❓ ❓
Dense All‑gather matmul ❓ ❓ ❓ ❓ ❓ ❓
Attention Generic Ragged Paged
Attention V3*
❓ ❓ ❓ ❓ ❓ ❓
MLA ❓ ❓ ❓ ❓ ❓ ❓
Ragged Paged
Attention V3 Head_Dim
64*
❓ ❓ ❓ ❓ ❓ ❓

Note:

  • For attention kernels, W[x]A[y] denotes KV cache as W, A as compute, and x, y as bit precision.

🤝 Contribute

bug good first issue enhancement contribution-welcome auto-generated View All Issues

We're thrilled you're interested in contributing to the vLLM TPU project! Your help is essential for making our tools better for everyone. There are many ways to get involved, even if you're not ready to write code.

Ways to Contribute:

  • 🐞 Submit Bugs & Suggest Features: See an issue or have an idea? Open a new issue to let us know.
  • 👀 Provide Feedback on Pull Requests: Lend your expertise by reviewing open pull requests and helping us improve the quality of our codebase.
  • 📚 Improve Our Documentation: Help us make our guides clearer. Fix a typo, clarify a confusing section, or write a new recipe.

If you're ready to contribute code, our Contributing Guide is the best place to start. It covers everything you need to know, including:

  • Tips for finding an issue to work on (we recommend starting with our good-first issues!.

🌟 Contributors Wall

A huge thank you to everyone who has helped build and improve vllm-project/tpu-inference!

🌟 Contribution Type Legend & Ranking
Emoji Contribution Meaning
💻 Code Submitted merged pull requests or code changes.
🐛 Issues Opened valid issues or bug reports.
👀 Reviews Reviewed pull requests and provided feedback.

🏆 Ranking: Contributors are sorted from highest to lowest based on their total effort score (Total Commits + Unique Issues Opened + PRs Reviewed). If there is a tie, contributors are displayed alphabetically.


xiangxu-google
xiangxu-google

💻
jrplatin
jrplatin

🐛 👀 💻
buildkite-bot
buildkite-bot

💻
kyuyeunk
kyuyeunk

🐛 👀 💻
py4
py4

💻
fenghuizhang
fenghuizhang

💻
lk-chen
lk-chen

🐛 👀 💻
wenxindongwork
wenxindongwork

👀 💻
vanbasten23
vanbasten23

👀 💻
sixiang-google
sixiang-google

💻
lsy323
lsy323

💻
Lumosis
Lumosis

💻
QiliangCui
QiliangCui

👀 💻
Chenyaaang
Chenyaaang

👀 💻
bzgoogle
bzgoogle

👀 💻
gpolovets1
gpolovets1

👀 💻
mrjunwan-lang
mrjunwan-lang

👀 💻
yarongmu-google
yarongmu-google

💻
wwl2755-google
wwl2755-google

💻
yaochengji
yaochengji

💻
patemotter
patemotter

👀 💻

...and more! Click to view all contributors.
boe20211
boe20211

💻
jcyang43
jcyang43

👀 💻
kwang3939
kwang3939

👀 💻
bythew3i
bythew3i

💻
pv97
pv97

👀 💻
karan
karan

🐛 💻
dennisYehCienet
dennisYehCienet

👀 💻
syhuang22
syhuang22

👀 💻
helloworld1
helloworld1

🐛 👀 💻
ica-chao
ica-chao

💻
richardsliu
richardsliu

👀 💻
catswe
catswe

👀 💻
RobMulla
RobMulla

🐛 💻
xingliu14
xingliu14

🐛 💻
juncgu-google
juncgu-google

👀
saltysoup
saltysoup

🐛
weiyu0824
weiyu0824

👀 💻
andrewkvuong
andrewkvuong

💻
rupengliu-meta
rupengliu-meta

🐛 💻
bvrockwell
bvrockwell

🐛 💻
sierraisland
sierraisland

💻
wang2yn84
wang2yn84

💻
wdhongtw
wdhongtw

💻
JiriesKaileh
JiriesKaileh

💻
ylangtsou
ylangtsou

💻
amacaskill
amacaskill

💻
BirdsOfAFthr
BirdsOfAFthr

💻
patrickji2014
patrickji2014

👀 💻
qihqi
qihqi

🐛 💻
yuanfz98
yuanfz98

🐛
cychiuak
cychiuak

💻
hosseinsarshar
hosseinsarshar

🐛 💻
samos123
samos123

🐛
AlienKevin
AlienKevin

🐛
dgouju
dgouju

🐛
eitanporat
eitanporat

🐛
ernie-chang
ernie-chang

💻
lepan-google
lepan-google

🐛 💻
muskansh-google
muskansh-google

🐛
saikat-royc
saikat-royc

👀
abhinavclemson
abhinavclemson

💻
aman2930
aman2930

💻
BabyChouSr
BabyChouSr

🐛
CienetStingLin
CienetStingLin

💻
coolkp
coolkp

💻
functionstackx
functionstackx

🐛
helloleah
helloleah

💻
mailvijayasingh
mailvijayasingh

💻
QiliangCui2023
QiliangCui2023

👀
shireen-bean
shireen-bean

🐛
utkarshsharma1
utkarshsharma1

💻
A9isha
A9isha

💻
AahilA
AahilA

💻
amishacorns
amishacorns

💻
carlesoctav
carlesoctav

🐛
dannikay
dannikay

💻
depksingh
depksingh

🐛
Dineshkumar-Anandan-ZS0367
Dineshkumar-Anandan-ZS0367

🐛
dtrifiro
dtrifiro

🐛
erfanzar
erfanzar

🐛
inho9606
inho9606

💻
jk1333
jk1333

🐛
jyj0w0
jyj0w0

👀
kuafou
kuafou

💻
kyle-google
kyle-google

💻
Mhdaw
Mhdaw

🐛
mokeddembillel
mokeddembillel

🐛
oindrila-b
oindrila-b

🐛
oliverdutton
oliverdutton

🐛
pathfinder-pf
pathfinder-pf

🐛
piotrfrankowski
piotrfrankowski

🐛
reeaz27-droid
reeaz27-droid

🐛
rupeng-liu
rupeng-liu

💻
salmanmohammadi
salmanmohammadi

🐛
vlad-karp
vlad-karp

💻
XMaster96
XMaster96

🐛
yixinshi
yixinshi

👀
yuyanpeng-google
yuyanpeng-google

💻
zixi-qi
zixi-qi

💻
zongweiz
zongweiz

🐛
zzzwen
zzzwen

💻

💬  Contact us

Metadata

Release files for tpu-inference 0.23.0.dev20260629

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tpu-inference 0.23.0.dev20260629
File Size Uploaded
tpu_inference-0.23.0.dev20260629.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for tpu-inference 0.23.0.dev20260629
File Interpreter ABI Platform
tpu_inference-0.23.0.dev20260629-py3-none-any.whl Python 3 none any Details

Total release size: 2.8 MB

Release files / tpu_inference-0.23.0.dev20260629.tar.gz

Download URL tpu_inference-0.23.0.dev20260629.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
d8a550a0230f19acf1847358107e610ba7d5974cd2cffdf1cfb460e725148c1c
BLAKE2b-256 checksum
How to use checksums
ca1245e08bb8af19b8627493156147128e93b67dc9cc0509a4726fab82923cad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 29, 2026.

Transparency log

Release files / tpu_inference-0.23.0.dev20260629-py3-none-any.whl

Download URL tpu_inference-0.23.0.dev20260629-py3-none-any.whl
Size 1.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
6e4ea85effca8651f28775c932614856105b2a036761793562d6e689685d3fdf
BLAKE2b-256 checksum
How to use checksums
16b92b723c56c7d07de679c73367fdfd10e04bb28ba8378572139fd95c6092f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 29, 2026.

Transparency log

Release history Release notifications | RSS feed

0.30.0

2 release files

0.29.0

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.23.0

2 release files

This release

0.22.1

2 release files

0.20.0

2 release files

0.18.0

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.11.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page