laguna-xs-2.1 on Tenstorrent p150x2 and p150x4

Serves poolside/Laguna-XS-2.1 by poolside at revision c5f36269. See the original model card for training and evaluation details.

Laguna-XS-2.1, poolside's 33B-parameter mixture-of-experts coding model (3B active parameters), served with vLLM with tool calling and separated reasoning output.

Runs on Tenstorrent p150x2 or p150x4 β€” see the serving profiles below.

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

At a glance

Hardware p150x2, p150x4
Context 131,072 tokens
License openmdw-1.1

Intended use

Agentic coding and tool calling through an OpenAI-compatible API.

Prerequisites

  • The Tenstorrent CLI, tt: uv tool install tenstorrent (or use tt-model alone, see the Quickstart)
  • Docker
  • Tenstorrent hardware: p150x2 or p150x4
  • p150x2: two P150 boards or one P300C board. p150x4: four P150 boards or two P300C boards (a QuietBox 2).

Quickstart

tt serve tt-hous/laguna-xs-2.1

tt serve downloads the Docker image and the poolside/Laguna-XS-2.1 at c5f36269bbdbd3f27fddc9a9f9dbae0cf2cf57db weights (into your HF cache; they are not in the image), then 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; the server is ready when it logs Application startup complete.

Without tt-cli: tt-model serve tt-hous/laguna-xs-2.1.

Serving profiles

Select a different serving profile using --profile.

profile hardware mesh max_num_seqs max_model_len description
p150x2 (default) p150x2 P150x2 1 131072 Two P150 ASICs, with ring/two-link fabric and canonical prefix caching.
p150x4 p150x4 P150x4 8 131072 Four-P150 regression profile with prefix caching explicitly disabled.

Capabilities

The server speaks the OpenAI API at http://127.0.0.1:20000/v1 (or whichever port your serve command reported; chat completions, completions, and /v1/models). Pass "model": "poolside/Laguna-XS-2.1" β€” the weights id, not this package's name.

Tool calling is enabled (--tool-call-parser poolside_v1): a request that passes tools comes back with tool_calls and finish_reason: tool_calls.

Reasoning output is separated (--reasoning_parser poolside_v1): the thinking text arrives in reasoning, apart from content.

Expected performance

eval this package reference prompts notes
GPQA Diamond, exact match, thinking off 42.5% β€” 40 of 198 standard error 7.9
IFEval, prompt-level strict / loose, thinking off 73.0% / 76.0% β€” 100 of 541 standard error 4.5 (strict)
IFEval, instruction-level strict, thinking off 81.6% β€” 100 of 541

Evals ran on 2026 Sep 30 on p150x2, against this package's image, with lm-evaluation-harness through the chat API: the model card's sampling (temperature 1.0, top_p 1.0, top_k 20), thinking off, 0-shot, one request at a time, 4,096 output tokens for GPQA and 2,048 for IFEval. The original model card reports no figure for either benchmark. It reports SWE-bench Verified 70.9%, SWE-bench Multilingual 63.1%, SWE-Bench Pro (public dataset) 47.6% and Terminal-Bench 2.0 37.5%, measured with thinking on; none of these has been run against this package.

profile ISL OSL concurrency N TTFT (ms) prefill tok/s/u decode tok/s/u E2EL (s)
p150x2 128 512 1 1 215 595 20.0 25.80
p150x2 1,024 512 1 1 2,213 463 19.8 28.00
p150x2 2,048 512 1 1 2,563 799 19.8 28.37
p150x2 4,096 512 1 1 8,984 456 19.8 34.82
p150x2 8,192 512 1 1 19,680 416 19.7 45.59
p150x2 16,384 512 1 1 33,931 483 19.6 59.99
p150x2 32,768 512 1 1 67,812 483 19.4 94.18
p150x2 65,536 512 1 1 156,630 418 18.9 183.59
p150x2 130,048 512 1 1 380,812 342 18.1 408.97
p150x4 128 512 1 1 129 992 29.0 17.75
p150x4 1,024 512 1 1 1,232 831 28.8 18.98
p150x4 2,048 512 1 1 1,408 1,455 28.7 19.19
p150x4 4,096 512 1 1 4,975 823 28.6 22.85
p150x4 8,192 512 1 1 10,896 752 28.3 28.95
p150x4 16,384 512 1 1 25,643 639 27.8 44.05
p150x4 32,768 512 1 1 66,650 492 26.7 85.76
p150x4 65,536 512 1 1 194,450 337 24.9 214.98
p150x4 130,048 512 1 1 206,156 631 21.9 229.48

One run per row on each profile's mesh with vLLM 0.24.0, at one request at a time, 512 output tokens. On p150x2 every request had a unique cache salt; on p150x4 prefix caching is off, so every row is a cold prefill. Prefill tok/s/u is ISL divided by TTFT. Concurrency above 1 was not measured on either profile.

Limitations

  • A single P150 is not supported: the model does not fit in its memory.
  • Accuracy was measured on subsets (40 GPQA Diamond and 100 IFEval prompts) with thinking off, on p150x2 only. No agentic-coding benchmark was run. Speed was measured at one request at a time only, though p150x4 admits 8.
  • Not for interactive use with long prompts on p150x2: a 32,768-token prompt takes about 68 s to first token, and a 130,048-token prompt about 381 s.
  • On p150x4 prefix caching is off, so every turn of a multi-turn chat re-prefills the whole prompt.
  • On p150x4, a 65,536-token prompt takes longer to first token than on p150x2 (194 s against 157 s).

Feedback

Questions or problems with this package: open a discussion at https://huggingface.co/tt-hous/laguna-xs-2.1/discussions β€” that is what reaches its author. A problem with the tt tooling itself: tt report issue (collects your environment and opens a prefilled issue against tenstorrent/tt-cli). Product feedback: [email protected].

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
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

Model tree for tt-hous/laguna-xs-2.1

Finetuned
(13)
this model