laguna-xs-2.1
Laguna-XS-2.1 is a Poolside coding model with tool calling and reasoning, served through an OpenAI-compatible API.
Runs on p150x2 or p150x4 โ see the serve profiles below.
Packaged and published with tt-model-manager 0.1.0 (manifest schema 5.1).
Quickstart
tt-model pull tt-hous/laguna-xs-2.1 --with-weights
tt-model serve tt-hous/laguna-xs-2.1
pull --with-weights downloads the Docker image and the poolside/Laguna-XS-2.1 weights at c5f36269bbdbd3f27fddc9a9f9dbae0cf2cf57db (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.
Point a client at it
Use the endpoint printed by tt-model serve (normally http://127.0.0.1:20000/v1). Tool calling and reasoning are on
(poolside_v1 parsers). First boot JIT-compiles kernels (~10 min) before
Application startup complete.
Hardware
p150x2 uses two P150 cards or one internal P300c in a TT-QuietBox 2.
p150x4 uses four P150 cards or both internal P300c cards in a TT-QuietBox 2.
A single P150 is unsupported: the full model exhausts device memory while loading
weights, before allocating the KV cache.
Expected performance
Measured on p150x2 (two P150 ASICs, 1x2 mesh), vLLM 0.24.0, output 512 tokens,
concurrency 1. The profile enables automatic prefix caching; this sweep gave every
request a unique cache salt to bypass prefix reuse, so the numbers are cold.
| Input tokens requested | Output tokens | Concurrency | Decode tok/s/user | Aggregate output tok/s | Time to first token | End-to-end latency |
|---|---|---|---|---|---|---|
| 128 | 512 | 1 | 19.97 | 19.84 | 0.215 s | 25.801 s |
| 1,024 | 512 | 1 | 19.82 | 18.29 | 2.213 s | 27.995 s |
| 2,048 | 512 | 1 | 19.80 | 18.05 | 2.563 s | 28.366 s |
| 4,096 | 512 | 1 | 19.78 | 14.70 | 8.984 s | 34.822 s |
| 8,192 | 512 | 1 | 19.72 | 11.23 | 19.680 s | 45.592 s |
| 16,384 | 512 | 1 | 19.61 | 8.53 | 33.931 s | 59.993 s |
| 32,768 | 512 | 1 | 19.38 | 5.44 | 67.812 s | 94.178 s |
| 65,536 | 512 | 1 | 18.95 | 2.79 | 156.630 s | 183.595 s |
| 130,048 | 512 | 1 | 18.15 | 1.25 | 380.812 s | 408.967 s |
Decode is nearly flat across the context range. Time to first token and end-to-end latency are prefill-dominated at long context.
p150x4 (four P150 ASICs, 1x4 mesh), same method, prefix caching disabled so every
request is cold:
| Input tokens requested | Output tokens | Concurrency | Decode tok/s/user | Aggregate output tok/s | Time to first token | End-to-end latency |
|---|---|---|---|---|---|---|
| 128 | 512 | 1 | 28.99 | 28.84 | 0.129 s | 17.754 s |
| 1,024 | 512 | 1 | 28.79 | 26.98 | 1.232 s | 18.980 s |
| 2,048 | 512 | 1 | 28.74 | 26.68 | 1.408 s | 19.189 s |
| 4,096 | 512 | 1 | 28.58 | 22.40 | 4.975 s | 22.853 s |
| 8,192 | 512 | 1 | 28.31 | 17.69 | 10.896 s | 28.948 s |
| 16,384 | 512 | 1 | 27.76 | 11.62 | 25.643 s | 44.049 s |
| 32,768 | 512 | 1 | 26.74 | 5.97 | 66.650 s | 85.757 s |
| 65,536 | 512 | 1 | 24.89 | 2.38 | 194.450 s | 214.977 s |
| 130,048 | 512 | 1 | 21.91 | 2.23 | 206.156 s | 229.481 s |
Four ASICs raise decode by about 45% at short context and 21% at full context. Prefill
is the exception: p150x4 does not use streaming prefill, so it still pads to the next
power of two. That makes its 65,536 request slower than the same request on p150x2
(194.450 s against 156.630 s), while 130,048 is much faster (206.156 s against 380.812 s).
Serve profiles
One image serves every profile below; pick one with --profile.
| profile | hardware | mesh | max_num_seqs | max_model_len |
|---|---|---|---|---|
p150x2 (default) |
p150x2 | P150x2 | 1 | 131072 |
p150x4 |
p150x4 | P150x4 | 8 | 131072 |
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 | 2d8292201660bff1ad9caf6cac556d9937f436d4 (dirty tree โ the image includes uncommitted changes) |
| vLLM | v0.24.0 |
| vllm-tt-plugin | c127c17d80d66ee83d23064d3a62ac844a1170de |
code/ digest |
5fcf91fffd6325bd (sha256, first 16 hex digits) |
| built | 2026-09-14T13:55:33+00:00 by tt-model 0.1.0 |