Poolside has launched Laguna S 2.1, a 118B-parameter open-weight mannequin constructed for agentic coding. It’s a Combination-of-Consultants (MoE) mannequin with 8B activated parameters per token. It helps a context window of as much as 1M tokens in each considering and no-thinking modes. The weights are on Hugging Face beneath an OpenMDW-1.1 license, and the mannequin is sufficiently small to run on a single NVIDIA DGX Spark.
On long-horizon coding benchmarks, Laguna S 2.1 holds its personal in opposition to fashions a number of occasions its measurement, together with DeepSeek-V4-Professional-Max, NVIDIA’s Nemotron 3 Extremely, and Pondering Machines’ Inkling. Laguna S 2.1 is a scale-up of the Laguna XS household, skilled on the identical pre-training knowledge as XS 2.1.
What’s Laguna S 2.1
The mannequin prompts roughly 6.8% of its parameters on any given token. All 118B parameters stay resident in reminiscence, however solely ~8B route by means of the community per step. That sparsity is why a mid-size mannequin can behave like a bigger one whereas staying low-cost to serve.
Poolside crew publishes weights in BF16, FP8, INT4, and NVFP4, together with official GGUF and MLX conversions and DFlash draft fashions. It went from the beginning of coaching to launch in beneath 9 weeks. Pre-training started on 22 Might 2026 on 4,096 NVIDIA H200 GPUs. It’s the first Poolside mannequin the place reinforcement studying ran in FP8 precision.
/* —- 02 scatter knowledge (actual, from launch) —- */
var SCAT=[
{n:”Laguna S 2.1″,p:118,s:78.5,self:true},
{n:”Laguna XS 2.1″,p:33,s:63.1,fam:true},
{n:”DeepSeek-V4-Pro-Max”,p:1600,s:76.2},
{n:”DeepSeek-V4-Flash-Max”,p:284,s:73.3},
{n:”Tencent Hy3″,p:295,s:75.8},
{n:”Nemotron 3 Ultra”,p:550,s:67.7},
{n:”Nemotron 3 Super”,p:120,s:45.8},
{n:”Qwen3.6-35B-A3B”,p:35,s:67.2},
{n:”Qwen3.6-27B”,p:27,s:71.3}
];
perform drawPlot(){
var host=doc.getElementById(“x1-plot”); var tip=doc.getElementById(“x1-tip”);
var W=host.clientWidth||760, H=host.clientHeight||300, pad={l:44,r:16,t:16,b:34};
var xMin=Math.log10(20), xMax=Math.log10(3000);
var yMin=40, yMax=82;
perform X(p){return pad.l+(Math.log10(p)-xMin)/(xMax-xMin)*(W-pad.l-pad.r);}
perform Y(s){return H-pad.b-(s-yMin)/(yMax-yMin)*(H-pad.t-pad.b);}
var svg=’‘;
host.innerHTML=svg; host.appendChild(tip);
[].forEach.name(host.querySelectorAll(“.dot”),perform(el){
el.addEventListener(“mouseenter”,perform(){var d=SCAT[+el.dataset.i];
tip.innerHTML=d.n+’ · ‘+d.s+’ @ ‘+(d.p>=1000?(d.p/1000)+’T’:d.p+’B’);
var bx=el.getBBox();tip.model.left=Math.min(W-140,bx.x+10)+’px’;tip.model.prime=Math.max(4,bx.y-30)+’px’;tip.model.opacity=1;});
el.addEventListener(“mouseleave”,perform(){tip.model.opacity=0;});
el.addEventListener(“click on”,perform(){var d=SCAT[+el.dataset.i];
tip.innerHTML=d.n+’ · ‘+d.s+’ @ ‘+(d.p>=1000?(d.p/1000)+’T’:d.p+’B’);
var bx=el.getBBox();tip.model.left=Math.min(W-140,bx.x+10)+’px’;tip.model.prime=Math.max(4,bx.y-30)+’px’;tip.model.opacity=1;});
});
}
/* —- resize reporting for WP iframe —- */
var lastH=0;
perform report(){var h=Math.ceil(R.getBoundingClientRect().peak)+8;
if(h!==lastH){lastH=h;attempt{father or mother.postMessage({__mtpH:h},”*”);}catch(e){}}}
perform bump(){requestAnimationFrame(report);setTimeout(report,120);setTimeout(report,420);}
/* init */
renderEffort(); renderBench(); drawPlot(); bump();
window.addEventListener(“resize”,perform(){drawPlot();bump();});
window.addEventListener(“load”,bump);
setInterval(report,900);
})();
