gpt-oss-20b-p150x8

OpenAI gpt-oss-20b (21B MoE, 3.6B active, 32 experts top-4, 131K context, harmony chat format) served on eight Blackhole P150 boards with tensor parallelism through vLLM, up to 32 concurrent users.

Runs on p150x8 (mesh P150x8) โ€” 32,768-token context, up to 32 concurrent sequences.

Packaged and published with tt-model-manager 0.1.0 (manifest schema 5.1).

Quickstart

tt-model pull  changh95/gpt-oss-20b-p150x8 --with-weights
tt-model serve changh95/gpt-oss-20b-p150x8

pull --with-weights downloads the Docker image and the openai/gpt-oss-20b weights at 6cee5e81ee83917806bbde320786a8fb61efebee (into your HF cache; they are not in the image). serve starts an OpenAI-compatible server on port 20000 (or the next free port, if that one is busy); the first start compiles kernels for your device, which takes several minutes, and the server is ready when it logs Application startup complete.

Performance

Measured on eight Blackhole P150 boards (logical 1x8 mesh, TP=8) with real openai/gpt-oss-20b weights, bfp8 experts and KV cache, greedy decoding, warm caches, on the tt-metal branch this image was built from (final regression sweep, 2026-09-05, commit f91dc77e50f). Rows are concurrent users, columns are input/output tokens per user; every user gets a distinct prompt. Cells marked โ€“ were not run (context budget of the sweep). Decode steps are traced; prefill runs one user at a time, so TTFT grows with the number of users. The image is built from tt-metal ed28fce3a4c, which adds the serving fixes made after that sweep (trace-safe prefill programs, the padded-prefill page-table fix, tenstorrent/tt-metal#56324, and keeping the server's padding rows out of the expert union); served through vLLM in this container the model streams 61 tok/s to a single user and 1730 tok/s aggregate to 32 users (54 tok/s each) on 128-token prompts.

Per-user decode, tokens per second:

users \ in/out tokens 128/128 128/1024 1024/128 2048/128 4096/128 8192/128 8192/1024 16384/128 32768/128
1 58.1 57.8 56.8 57.1 56.8 56.5 56.9 56.4 55.3
2 55.6 55.1 57.1 57.5 57.4 55.8 56.1 55.7 55.2
4 54.5 53.9 57.8 57.5 56.5 56.6 56.2 56.0 53.2
8 50.1 49.6 55.2 55.1 54.6 53.7 54.0 53.9 49.4
16 48.7 47.8 54.2 54.0 53.4 54.0 53.9 50.9 49.1
32 48.9 48.2 56.7 56.7 54.6 51.3 52.3 44.9 40.2

Aggregate decode throughput, tokens per second:

users \ in/out tokens 128/128 128/1024 1024/128 2048/128 4096/128 8192/128 8192/1024 16384/128 32768/128
1 58 58 57 57 57 56 57 56 55
2 111 110 114 115 115 112 112 111 110
4 218 216 231 230 226 227 225 224 213
8 401 396 441 440 437 430 432 431 395
16 778 764 867 864 854 864 863 814 786
32 1564 1542 1813 1816 1746 1642 1675 1438 1288

Time to first token, mean over users, ms (sequential prefill: first user = one prefill, mean = (B+1)/2 prefills):

users \ in/out tokens 128/128 128/1024 1024/128 2048/128 4096/128 8192/128 8192/1024 16384/128 32768/128
1 59 57 191 250 452 891 890 1787 3685
2 77 77 189 345 664 1322 1324 2663 5526
4 118 121 314 570 1094 2199 2191 4430 9526
8 218 222 818 1273 2029 4024 4000 8358 20869
16 477 524 1114 1962 3835 7829 7823 18792 31318
32 728 738 2056 3803 7697 17954 18896 42505 115754

Provenance

The exact sources the image was built from โ€” code/ in this repo is byte-identical to the model code inside the image:

component built from
tt-metal ed28fce3a4cd5f14f17fbb3b1a58e9903d40ed86
vLLM v0.25.1
vllm-tt-plugin ba73d09 (branch solar-fixes; the GPT-OSS registration is upstream built-in)
code/ digest ed4b547cf1cf447f (sha256, first 16 hex digits)
built 2026-09-12T13:31:38+00:00 by tt-model 0.1.0
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support